tree-sitter implementation for the confindent configuration language

more setup

Changed files
+371 -1
+1
.envrc
··· 1 + use flake;
+1 -1
flake.nix
··· 9 9 in { 10 10 devShells.x86_64-linux.default = pkgs.mkShell { 11 11 packages = with pkgs; [ 12 - tree-sitter clang nodejs 12 + tree-sitter clang nodejs python3 13 13 #rustc cargo clippy rustfmt inetutils python3 14 14 ]; 15 15 #RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
+369
package-lock.json
··· 1 + { 2 + "name": "tree-sitter-confindent", 3 + "version": "0.1.0", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "tree-sitter-confindent", 9 + "version": "0.1.0", 10 + "hasInstallScript": true, 11 + "license": "ISC", 12 + "dependencies": { 13 + "node-addon-api": "^8.2.1", 14 + "node-gyp-build": "^4.8.2" 15 + }, 16 + "devDependencies": { 17 + "prebuildify": "^6.0.1", 18 + "tree-sitter-cli": "^0.25.3" 19 + }, 20 + "peerDependencies": { 21 + "tree-sitter": "^0.21.1" 22 + }, 23 + "peerDependenciesMeta": { 24 + "tree-sitter": { 25 + "optional": true 26 + } 27 + } 28 + }, 29 + "node_modules/base64-js": { 30 + "version": "1.5.1", 31 + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 32 + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 33 + "dev": true, 34 + "funding": [ 35 + { 36 + "type": "github", 37 + "url": "https://github.com/sponsors/feross" 38 + }, 39 + { 40 + "type": "patreon", 41 + "url": "https://www.patreon.com/feross" 42 + }, 43 + { 44 + "type": "consulting", 45 + "url": "https://feross.org/support" 46 + } 47 + ], 48 + "license": "MIT" 49 + }, 50 + "node_modules/bl": { 51 + "version": "4.1.0", 52 + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 53 + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 54 + "dev": true, 55 + "license": "MIT", 56 + "dependencies": { 57 + "buffer": "^5.5.0", 58 + "inherits": "^2.0.4", 59 + "readable-stream": "^3.4.0" 60 + } 61 + }, 62 + "node_modules/buffer": { 63 + "version": "5.7.1", 64 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 65 + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 66 + "dev": true, 67 + "funding": [ 68 + { 69 + "type": "github", 70 + "url": "https://github.com/sponsors/feross" 71 + }, 72 + { 73 + "type": "patreon", 74 + "url": "https://www.patreon.com/feross" 75 + }, 76 + { 77 + "type": "consulting", 78 + "url": "https://feross.org/support" 79 + } 80 + ], 81 + "license": "MIT", 82 + "dependencies": { 83 + "base64-js": "^1.3.1", 84 + "ieee754": "^1.1.13" 85 + } 86 + }, 87 + "node_modules/chownr": { 88 + "version": "1.1.4", 89 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 90 + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 91 + "dev": true, 92 + "license": "ISC" 93 + }, 94 + "node_modules/end-of-stream": { 95 + "version": "1.4.5", 96 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", 97 + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", 98 + "dev": true, 99 + "license": "MIT", 100 + "dependencies": { 101 + "once": "^1.4.0" 102 + } 103 + }, 104 + "node_modules/fs-constants": { 105 + "version": "1.0.0", 106 + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 107 + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 108 + "dev": true, 109 + "license": "MIT" 110 + }, 111 + "node_modules/ieee754": { 112 + "version": "1.2.1", 113 + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 114 + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 115 + "dev": true, 116 + "funding": [ 117 + { 118 + "type": "github", 119 + "url": "https://github.com/sponsors/feross" 120 + }, 121 + { 122 + "type": "patreon", 123 + "url": "https://www.patreon.com/feross" 124 + }, 125 + { 126 + "type": "consulting", 127 + "url": "https://feross.org/support" 128 + } 129 + ], 130 + "license": "BSD-3-Clause" 131 + }, 132 + "node_modules/inherits": { 133 + "version": "2.0.4", 134 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 135 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 136 + "dev": true, 137 + "license": "ISC" 138 + }, 139 + "node_modules/minimist": { 140 + "version": "1.2.8", 141 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 142 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 143 + "dev": true, 144 + "license": "MIT", 145 + "funding": { 146 + "url": "https://github.com/sponsors/ljharb" 147 + } 148 + }, 149 + "node_modules/mkdirp-classic": { 150 + "version": "0.5.3", 151 + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 152 + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 153 + "dev": true, 154 + "license": "MIT" 155 + }, 156 + "node_modules/node-abi": { 157 + "version": "3.80.0", 158 + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.80.0.tgz", 159 + "integrity": "sha512-LyPuZJcI9HVwzXK1GPxWNzrr+vr8Hp/3UqlmWxxh8p54U1ZbclOqbSog9lWHaCX+dBaiGi6n/hIX+mKu74GmPA==", 160 + "dev": true, 161 + "license": "MIT", 162 + "dependencies": { 163 + "semver": "^7.3.5" 164 + }, 165 + "engines": { 166 + "node": ">=10" 167 + } 168 + }, 169 + "node_modules/node-addon-api": { 170 + "version": "8.5.0", 171 + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.5.0.tgz", 172 + "integrity": "sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A==", 173 + "license": "MIT", 174 + "engines": { 175 + "node": "^18 || ^20 || >= 21" 176 + } 177 + }, 178 + "node_modules/node-gyp-build": { 179 + "version": "4.8.4", 180 + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", 181 + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", 182 + "license": "MIT", 183 + "bin": { 184 + "node-gyp-build": "bin.js", 185 + "node-gyp-build-optional": "optional.js", 186 + "node-gyp-build-test": "build-test.js" 187 + } 188 + }, 189 + "node_modules/npm-run-path": { 190 + "version": "3.1.0", 191 + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", 192 + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", 193 + "dev": true, 194 + "license": "MIT", 195 + "dependencies": { 196 + "path-key": "^3.0.0" 197 + }, 198 + "engines": { 199 + "node": ">=8" 200 + } 201 + }, 202 + "node_modules/once": { 203 + "version": "1.4.0", 204 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 205 + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 206 + "dev": true, 207 + "license": "ISC", 208 + "dependencies": { 209 + "wrappy": "1" 210 + } 211 + }, 212 + "node_modules/path-key": { 213 + "version": "3.1.1", 214 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 215 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 216 + "dev": true, 217 + "license": "MIT", 218 + "engines": { 219 + "node": ">=8" 220 + } 221 + }, 222 + "node_modules/prebuildify": { 223 + "version": "6.0.1", 224 + "resolved": "https://registry.npmjs.org/prebuildify/-/prebuildify-6.0.1.tgz", 225 + "integrity": "sha512-8Y2oOOateom/s8dNBsGIcnm6AxPmLH4/nanQzL5lQMU+sC0CMhzARZHizwr36pUPLdvBnOkCNQzxg4djuFSgIw==", 226 + "dev": true, 227 + "license": "MIT", 228 + "dependencies": { 229 + "minimist": "^1.2.5", 230 + "mkdirp-classic": "^0.5.3", 231 + "node-abi": "^3.3.0", 232 + "npm-run-path": "^3.1.0", 233 + "pump": "^3.0.0", 234 + "tar-fs": "^2.1.0" 235 + }, 236 + "bin": { 237 + "prebuildify": "bin.js" 238 + } 239 + }, 240 + "node_modules/pump": { 241 + "version": "3.0.3", 242 + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", 243 + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", 244 + "dev": true, 245 + "license": "MIT", 246 + "dependencies": { 247 + "end-of-stream": "^1.1.0", 248 + "once": "^1.3.1" 249 + } 250 + }, 251 + "node_modules/readable-stream": { 252 + "version": "3.6.2", 253 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 254 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 255 + "dev": true, 256 + "license": "MIT", 257 + "dependencies": { 258 + "inherits": "^2.0.3", 259 + "string_decoder": "^1.1.1", 260 + "util-deprecate": "^1.0.1" 261 + }, 262 + "engines": { 263 + "node": ">= 6" 264 + } 265 + }, 266 + "node_modules/safe-buffer": { 267 + "version": "5.2.1", 268 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 269 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 270 + "dev": true, 271 + "funding": [ 272 + { 273 + "type": "github", 274 + "url": "https://github.com/sponsors/feross" 275 + }, 276 + { 277 + "type": "patreon", 278 + "url": "https://www.patreon.com/feross" 279 + }, 280 + { 281 + "type": "consulting", 282 + "url": "https://feross.org/support" 283 + } 284 + ], 285 + "license": "MIT" 286 + }, 287 + "node_modules/semver": { 288 + "version": "7.7.3", 289 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", 290 + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", 291 + "dev": true, 292 + "license": "ISC", 293 + "bin": { 294 + "semver": "bin/semver.js" 295 + }, 296 + "engines": { 297 + "node": ">=10" 298 + } 299 + }, 300 + "node_modules/string_decoder": { 301 + "version": "1.3.0", 302 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 303 + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 304 + "dev": true, 305 + "license": "MIT", 306 + "dependencies": { 307 + "safe-buffer": "~5.2.0" 308 + } 309 + }, 310 + "node_modules/tar-fs": { 311 + "version": "2.1.4", 312 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", 313 + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", 314 + "dev": true, 315 + "license": "MIT", 316 + "dependencies": { 317 + "chownr": "^1.1.1", 318 + "mkdirp-classic": "^0.5.2", 319 + "pump": "^3.0.0", 320 + "tar-stream": "^2.1.4" 321 + } 322 + }, 323 + "node_modules/tar-stream": { 324 + "version": "2.2.0", 325 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 326 + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 327 + "dev": true, 328 + "license": "MIT", 329 + "dependencies": { 330 + "bl": "^4.0.3", 331 + "end-of-stream": "^1.4.1", 332 + "fs-constants": "^1.0.0", 333 + "inherits": "^2.0.3", 334 + "readable-stream": "^3.1.1" 335 + }, 336 + "engines": { 337 + "node": ">=6" 338 + } 339 + }, 340 + "node_modules/tree-sitter-cli": { 341 + "version": "0.25.10", 342 + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.25.10.tgz", 343 + "integrity": "sha512-KoebQguKMCIghisEOdA372TIbrUl0kdnfZ9YQIBRAeOvNSKe85XbU4LuFW7hduRUwJj0rAG7pX5wo9sZhbBF1g==", 344 + "dev": true, 345 + "hasInstallScript": true, 346 + "license": "MIT", 347 + "bin": { 348 + "tree-sitter": "cli.js" 349 + }, 350 + "engines": { 351 + "node": ">=12.0.0" 352 + } 353 + }, 354 + "node_modules/util-deprecate": { 355 + "version": "1.0.2", 356 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 357 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 358 + "dev": true, 359 + "license": "MIT" 360 + }, 361 + "node_modules/wrappy": { 362 + "version": "1.0.2", 363 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 364 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 365 + "dev": true, 366 + "license": "ISC" 367 + } 368 + } 369 + }