diff options
-rw-r--r-- | Cargo.lock | 1 | ||||
-rw-r--r-- | TODO.md | 19 | ||||
-rw-r--r-- | languages.toml | 64 |
3 files changed, 81 insertions, 3 deletions
@@ -486,6 +486,7 @@ version = "0.1.0" dependencies = [ "anyhow", "helix-syntax", + "log", "once_cell", "regex", "ropey", @@ -3,6 +3,17 @@ ------ +- tree sitter: + - lua + - markdown + - zig + - regex + - vue + - kotlin + - julia + - clojure + - erlang + - [ ] use signature_help_provider and completion_provider trigger characters in a hook to trigger signature help text / autocompletion - [ ] document_on_type provider triggers @@ -19,8 +30,8 @@ - [ ] yank on delete - [ ] :x for closing buffers -- [ ] jumplist (push selections on goto / select on the view) -- [ ] repeat insert/command -> transaction +- [x] jumplist (push selections on goto / select on the view) +- [x] repeat insert/command -> transaction - [ ] repeat selection - [] jump to alt buffer @@ -36,6 +47,9 @@ - [ ] lsp: formatting - [x] lsp: goto +- [ ] search: wrap around file +- [ ] search: smart case by default: insensitive unless upper detected + - decide if markdown should have vertical padding too - the hooks system should be better for pre/post insert. @@ -48,7 +62,6 @@ - [ ] bracket pairs - [x] comment block (gcc) - [ ] completion signature popups/docs -- [ ] multiple views into the same file - [ ] selection align - [ ] store some state between restarts: file positions, prompt history - [ ] highlight matched characters in completion diff --git a/languages.toml b/languages.toml index 72f30ca4..d327e3a8 100644 --- a/languages.toml +++ b/languages.toml @@ -20,6 +20,26 @@ path = "../helix-syntax/languages/tree-sitter-toml" indent = { tab-width = 2, unit = " " } [[language]] +name = "json" +scope = "source.json" +injection-regex = "json" +file-types = ["json"] +roots = [] +path = "../helix-syntax/languages/tree-sitter-json" + +indent = { tab-width = 2, unit = " " } + +[[language]] +name = "c" +scope = "source.c" +injection-regex = "c" +file-types = ["c"] # TODO: ["h"] +roots = [] +path = "../helix-syntax/languages/tree-sitter-c" + +indent = { tab-width = 2, unit = " " } + +[[language]] name = "cpp" scope = "source.cpp" injection-regex = "cpp" @@ -30,6 +50,18 @@ path = "../helix-syntax/languages/tree-sitter-cpp" # TODO: also C highlights indent = { tab-width = 2, unit = " " } [[language]] +name = "go" +scope = "source.go" +injection-regex = "go" +file-types = ["go"] +roots = ["Gopkg.toml", "go.mod"] +path = "../helix-syntax/languages/tree-sitter-go" + +language-server = { command = "gopls" } +# TODO: gopls needs utf-8 offsets +indent = { tab-width = 2, unit = " " } + +[[language]] name = "javascript" scope = "source.js" injection-regex = "^(js|javascript)$" @@ -71,3 +103,35 @@ path = "../helix-syntax/languages/tree-sitter-python" language-server = { command = "pyls" } # TODO: pyls needs utf-8 offsets indent = { tab-width = 2, unit = " " } + +[[language]] +name = "ruby" +scope = "source.ruby" +injection-regex = "ruby" +file-types = ["rb"] +roots = [] +path = "../helix-syntax/languages/tree-sitter-ruby" + +language-server = { command = "solargraph", args = ["stdio"] } +indent = { tab-width = 2, unit = " " } + +[[language]] +name = "bash" +scope = "source.bash" +injection-regex = "bash" +file-types = ["sh", "bash"] +roots = [] +path = "../helix-syntax/languages/tree-sitter-bash" + +language-server = { command = "bash-language-server", args = ["start"] } +indent = { tab-width = 2, unit = " " } + +[[language]] +name = "php" +scope = "source.php" +injection-regex = "php" +file-types = ["php"] +roots = [] +path = "../helix-syntax/languages/tree-sitter-php" + +indent = { tab-width = 2, unit = " " } |