Add .config/helix/.chezmoiignore

Add .config/helix/.gitignore
Add .config/helix/runtime/grammars/.gitkeep
Add .config/helix/runtime/grammars/astro.so
Add .config/helix/runtime/grammars/awk.so
Add .config/helix/runtime/grammars/bash.so
Add .config/helix/runtime/grammars/bass.so
Add .config/helix/runtime/grammars/beancount.so
Add .config/helix/runtime/grammars/bibtex.so
Add .config/helix/runtime/grammars/bicep.so
Add .config/helix/runtime/grammars/blueprint.so
Add .config/helix/runtime/grammars/c-sharp.so
Add .config/helix/runtime/grammars/c.so
Add .config/helix/runtime/grammars/capnp.so
Add .config/helix/runtime/grammars/clojure.so
Add .config/helix/runtime/grammars/cmake.so
Add .config/helix/runtime/grammars/comment.so
Add .config/helix/runtime/grammars/cpon.so
Add .config/helix/runtime/grammars/cpp.so
Add .config/helix/runtime/grammars/css.so
Add .config/helix/runtime/grammars/cue.so
Add .config/helix/runtime/grammars/d.so
Add .config/helix/runtime/grammars/dart.so
Add .config/helix/runtime/grammars/devicetree.so
Add .config/helix/runtime/grammars/dhall.so
Add .config/helix/runtime/grammars/diff.so
Add .config/helix/runtime/grammars/dockerfile.so
Add .config/helix/runtime/grammars/dot.so
Add .config/helix/runtime/grammars/dtd.so
Add .config/helix/runtime/grammars/edoc.so
Add .config/helix/runtime/grammars/eex.so
Add .config/helix/runtime/grammars/elixir.so
Add .config/helix/runtime/grammars/elm.so
Add .config/helix/runtime/grammars/elvish.so
Add .config/helix/runtime/grammars/embedded-template.so
Add .config/helix/runtime/grammars/erlang.so
Add .config/helix/runtime/grammars/esdl.so
Add .config/helix/runtime/grammars/fish.so
Add .config/helix/runtime/grammars/forth.so
Add .config/helix/runtime/grammars/fortran.so
Add .config/helix/runtime/grammars/fsharp.so
Add .config/helix/runtime/grammars/gdscript.so
Add .config/helix/runtime/grammars/git-commit.so
Add .config/helix/runtime/grammars/git-config.so
Add .config/helix/runtime/grammars/git-rebase.so
Add .config/helix/runtime/grammars/gitattributes.so
Add .config/helix/runtime/grammars/gitignore.so
Add .config/helix/runtime/grammars/gleam.so
Add .config/helix/runtime/grammars/glsl.so
Add .config/helix/runtime/grammars/go.so
Add .config/helix/runtime/grammars/godot-resource.so
Add .config/helix/runtime/grammars/gomod.so
Add .config/helix/runtime/grammars/gotmpl.so
Add .config/helix/runtime/grammars/gowork.so
Add .config/helix/runtime/grammars/graphql.so
Add .config/helix/runtime/grammars/hare.so
Add .config/helix/runtime/grammars/haskell-persistent.so
Add .config/helix/runtime/grammars/haskell.so
Add .config/helix/runtime/grammars/hcl.so
Add .config/helix/runtime/grammars/heex.so
Add .config/helix/runtime/grammars/hosts.so
Add .config/helix/runtime/grammars/html.so
Add .config/helix/runtime/grammars/hurl.so
Add .config/helix/runtime/grammars/iex.so
Add .config/helix/runtime/grammars/ini.so
Add .config/helix/runtime/grammars/java.so
Add .config/helix/runtime/grammars/javascript.so
Add .config/helix/runtime/grammars/jinja2.so
Add .config/helix/runtime/grammars/jsdoc.so
Add .config/helix/runtime/grammars/json.so
Add .config/helix/runtime/grammars/jsonnet.so
Add .config/helix/runtime/grammars/julia.so
Add .config/helix/runtime/grammars/just.so
Add .config/helix/runtime/grammars/kdl.so
Add .config/helix/runtime/grammars/kotlin.so
Add .config/helix/runtime/grammars/latex.so
Add .config/helix/runtime/grammars/lean.so
Add .config/helix/runtime/grammars/ledger.so
Add .config/helix/runtime/grammars/llvm-mir.so
Add .config/helix/runtime/grammars/llvm.so
Add .config/helix/runtime/grammars/lua.so
Add .config/helix/runtime/grammars/make.so
Add .config/helix/runtime/grammars/markdoc.so
Add .config/helix/runtime/grammars/markdown.so
Add .config/helix/runtime/grammars/markdown_inline.so
Add .config/helix/runtime/grammars/matlab.so
Add .config/helix/runtime/grammars/mermaid.so
Add .config/helix/runtime/grammars/meson.so
Add .config/helix/runtime/grammars/nasm.so
Add .config/helix/runtime/grammars/nickel.so
Add .config/helix/runtime/grammars/nim.so
Add .config/helix/runtime/grammars/nix.so
Add .config/helix/runtime/grammars/nu.so
Add .config/helix/runtime/grammars/ocaml-interface.so
Add .config/helix/runtime/grammars/ocaml.so
Add .config/helix/runtime/grammars/odin.so
Add .config/helix/runtime/grammars/opencl.so
Add .config/helix/runtime/grammars/openscad.so
Add .config/helix/runtime/grammars/org.so
Add .config/helix/runtime/grammars/pascal.so
Add .config/helix/runtime/grammars/passwd.so
Add .config/helix/runtime/grammars/pem.so
Add .config/helix/runtime/grammars/perl.so
Add .config/helix/runtime/grammars/php.so
Add .config/helix/runtime/grammars/po.so
Add .config/helix/runtime/grammars/pod.so
Add .config/helix/runtime/grammars/ponylang.so
Add .config/helix/runtime/grammars/prisma.so
Add .config/helix/runtime/grammars/protobuf.so
Add .config/helix/runtime/grammars/prql.so
Add .config/helix/runtime/grammars/python.so
Add .config/helix/runtime/grammars/qmljs.so
Add .config/helix/runtime/grammars/r.so
Add .config/helix/runtime/grammars/regex.so
Add .config/helix/runtime/grammars/rego.so
Add .config/helix/runtime/grammars/rescript.so
Add .config/helix/runtime/grammars/robot.so
Add .config/helix/runtime/grammars/rst.so
Add .config/helix/runtime/grammars/ruby.so
Add .config/helix/runtime/grammars/rust.so
Add .config/helix/runtime/grammars/scala.so
Add .config/helix/runtime/grammars/scheme.so
Add .config/helix/runtime/grammars/scss.so
Add .config/helix/runtime/grammars/slint.so
Add .config/helix/runtime/grammars/smithy.so
Add .config/helix/runtime/grammars/sml.so
Add .config/helix/runtime/grammars/solidity.so
Add .config/helix/runtime/grammars/sources/astro/Cargo.toml
Add .config/helix/runtime/grammars/sources/astro/README.md
Add .config/helix/runtime/grammars/sources/astro/binding.gyp
Add .config/helix/runtime/grammars/sources/astro/bindings/node/binding.cc
Add .config/helix/runtime/grammars/sources/astro/bindings/node/index.js
Add .config/helix/runtime/grammars/sources/astro/bindings/rust/build.rs
Add .config/helix/runtime/grammars/sources/astro/bindings/rust/lib.rs
Add .config/helix/runtime/grammars/sources/astro/.gitignore
Add .config/helix/runtime/grammars/sources/astro/flake.lock
Add .config/helix/runtime/grammars/sources/astro/flake.nix
Add .config/helix/runtime/grammars/sources/astro/grammar.js
Add .config/helix/runtime/grammars/sources/astro/package-lock.json
Add .config/helix/runtime/grammars/sources/astro/package.json
Add .config/helix/runtime/grammars/sources/astro/queries/highlights.scm
Add .config/helix/runtime/grammars/sources/astro/queries/injections.scm
Add .config/helix/runtime/grammars/sources/astro/src/grammar.json
Add .config/helix/runtime/grammars/sources/astro/src/node-types.json
Add .config/helix/runtime/grammars/sources/astro/src/parser.c
Add .config/helix/runtime/grammars/sources/astro/src/scanner.cc
Add .config/helix/runtime/grammars/sources/astro/src/tag.h
Add .config/helix/runtime/grammars/sources/astro/src/tree_sitter/parser.h
Add .config/helix/runtime/grammars/sources/astro/test.astro
Add .config/helix/runtime/grammars/sources/astro/test2.astro
Add .config/helix/runtime/grammars/sources/astro/test3.astro
Add .config/helix/runtime/grammars/sources/astro/test4.astro
Add .config/helix/runtime/grammars/sources/astro/test5.astro
Add .config/helix/runtime/grammars/sources/astro/test6.astro
Add .config/helix/runtime/grammars/sources/awk/Cargo.toml
Add .config/helix/runtime/grammars/sources/awk/LICENSE
Add .config/helix/runtime/grammars/sources/awk/README.md
Add .config/helix/runtime/grammars/sources/awk/binding.gyp
Add .config/helix/runtime/grammars/sources/awk/bindings/node/binding.cc
Add .config/helix/runtime/grammars/sources/awk/bindings/node/index.js
Add .config/helix/runtime/grammars/sources/awk/bindings/rust/build.rs
Add .config/helix/runtime/grammars/sources/awk/bindings/rust/lib.rs
Add .config/helix/runtime/grammars/sources/awk/.github/workflows/tests.yml
Add .config/helix/runtime/grammars/sources/awk/.gitignore
Add .config/helix/runtime/grammars/sources/awk/.npmignore
Add .config/helix/runtime/grammars/sources/awk/.prettierrc
Add .config/helix/runtime/grammars/sources/awk/.vscode/launch.json
Add .config/helix/runtime/grammars/sources/awk/examples/example.awk
Add .config/helix/runtime/grammars/sources/awk/grammar.d.ts
Add .config/helix/runtime/grammars/sources/awk/grammar.js
Add .config/helix/runtime/grammars/sources/awk/jsconfig.json
Add .config/helix/runtime/grammars/sources/awk/package.json
Add .config/helix/runtime/grammars/sources/awk/queries/highlights.scm
Add .config/helix/runtime/grammars/sources/awk/scripts/update_highlights_version.sh
Add .config/helix/runtime/grammars/sources/awk/scripts/generate_types.js
Add .config/helix/runtime/grammars/sources/awk/scripts/generate_types_watch.js
Add .config/helix/runtime/grammars/sources/awk/src/grammar.json
Add .config/helix/runtime/grammars/sources/awk/src/node-types.json
Add .config/helix/runtime/grammars/sources/awk/src/parser.c
Add .config/helix/runtime/grammars/sources/awk/src/scanner.c
Add .config/helix/runtime/grammars/sources/awk/src/tree_sitter/parser.h
Add .config/helix/runtime/grammars/sources/awk/test/corpus/crlf.txt
Add .config/helix/runtime/grammars/sources/awk/test/corpus/expression.txt
Add .config/helix/runtime/grammars/sources/awk/test/corpus/function.txt
Add .config/helix/runtime/grammars/sources/awk/test/corpus/pattern.txt
Add .config/helix/runtime/grammars/sources/awk/test/corpus/program.txt
Add .config/helix/runtime/grammars/sources/awk/test/corpus/statement.txt
Add .config/helix/runtime/grammars/sources/awk/yarn.lock
Add .config/helix/runtime/grammars/sources/bash/Cargo.toml
Add .config/helix/runtime/grammars/sources/bash/LICENSE
Add .config/helix/runtime/grammars/sources/bash/.gitattributes
Add .config/helix/runtime/grammars/sources/bash/.github/workflows/ci.yml
Add .config/helix/runtime/grammars/sources/bash/.gitignore
Add .config/helix/runtime/grammars/sources/bash/.gitmodules
Add .config/helix/runtime/grammars/sources/bash/.npmignore
Add .config/helix/runtime/grammars/sources/bash/.travis.yml
Remove .config/helix/runtime
This commit is contained in:
2023-08-23 21:33:06 +02:00
parent 55029adf4e
commit ede75502d9
197 changed files with 113552 additions and 1 deletions

View File

@@ -0,0 +1,7 @@
#!/bin/bash
# Intended for usage with `npm version` command and `version` stage
sed -i " s/\(; tree-sitter-awk v\)[0-9]\.[0-9]\.[0-9]/\1$(npm pkg get version | tr -d \")/ " queries/highlights.scm
git add queries/highlights.scm

View File

@@ -0,0 +1,105 @@
// Generate types for grammar.js
// Allows autocomplete, go to implementation and navigation to symbol
const fs = require('fs');
function writeTypes() {
console.log('Generating types...');
const startTime = performance.now();
const source = fs.readFileSync('grammar.js', 'utf8');
const writer = fs.createWriteStream('grammar.d.ts', 'utf8');
function grammar(g) {
// Externals
writer.write('declare interface IExternals {\n');
const m = g?.externals?.toString()?.match(/\(?\$\)? => \[([\s\S]*)\]/);
if (m?.[1]) {
const extRules = m[1]
.replace(/[\s\n]/g, '')
.replace(/\$\./g, '')
.split(',')
.filter(Boolean);
for (const r of extRules) {
writer.write(` ${r}: ($: IExternals) => any;\n`);
}
}
writer.write('}\n\n');
// Rules
writer.write('declare interface IRules {\n');
for (const k in g.rules) {
writer.write(` ${k}: ($: IRules & IExternals) => any;\n`);
}
writer.write('}\n\n');
}
try {
eval(source);
} catch (err) {
console.error(err);
return;
}
const furtherDefinitions = `
declare interface IGrammar {
name: string;
extras?: ($: IRules & IExternals) => any;
inline?: ($: IRules & IExternals) => any;
conflicts?: ($: IRules & IExternals) => any;
externals?: ($: IExternals) => any;
word?: ($: IRules & IExternals) => any;
supertypes?: ($: IRules & IExternals) => any;
precedences?: ($: IRules & IExternals) => any;
rules: IRules;
}
declare function grammar(g: IGrammar): any;
declare type TRule = (($: IRules & IExternals) => any) | string | RegExp;
declare interface IPrecFunc {
(rule: TRule): TRule;
(val: number | string, rule: TRule): TRule;
}
declare interface ITokenFunc {
(rule: TRule): TRule;
}
declare function seq(...rules: TRule[]): TRule;
declare function choice(...rules: TRule[]): TRule;
declare function repeat(rule: TRule): TRule;
declare function repeat1(rule: TRule): TRule;
declare function optional(rule: TRule): TRule;
declare function alias(rule: TRule, name: TRule): TRule;
declare function field(name: string, rule: TRule): TRule;
declare const prec: IPrecFunc & {
left: IPrecFunc;
right: IPrecFunc;
dynamic: (val: number, rule: TRule) => TRule;
};
declare const token: ITokenFunc & { immediate: ITokenFunc }
`;
writer.write(furtherDefinitions);
writer.close();
const endTime = performance.now() - startTime;
console.log(`Done: ${endTime.toFixed(3)}s`);
}
if (require.main === module) {
writeTypes();
}
module.exports = {
writeTypes,
};

View File

@@ -0,0 +1,6 @@
const fs = require('fs');
const { writeTypes } = require('./generate_types.js');
if (!fs.existsSync('grammar.d.ts')) writeTypes();
fs.watchFile('grammar.js', writeTypes);