aboutsummaryrefslogtreecommitdiff
path: root/helix-core/src/syntax.rs
Commit message (Collapse)AuthorAge
...
* Ensure non empty grouped nodes in textobject queriesGokul Soumya2022-03-01
|
* Allow capturing multiple nodes in textobject queriesGokul Soumya2022-03-01
| | | | | | | | | | | | | | Treesitter captures can contain multiple nodes like so: ``` (line_comment)+ @comment ``` This would match each line in a comment as a separate `@comment` capture when what we actually want is the whole set of contiguous `line_comment` nodes to be captured under the `@comment` capture. This commit enables this behaviour.
* Configurable auto pairs (#1624)Skyler Hawthorne2022-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * impl auto pairs config Implements configuration for which pairs of tokens get auto completed. In order to help with this, the logic for when *not* to auto complete has been generalized from a specific hardcoded list of characters to simply testing if the next/prev char is alphanumeric. It is possible to configure a global list of pairs as well as at the language level. The language config will take precedence over the global config. * rename AutoPair -> Pair * clean up insert_char command * remove Rc * remove some explicit cloning with another impl * fix lint * review comments * global auto-pairs = false takes precedence over language settings * make clippy happy * print out editor config on startup * move auto pairs accessor into Document * rearrange auto pair doc comment * use pattern in Froms
* Add object.movement for tree-sitter navigationGokul Soumya2022-02-15
|
* Merge remote-tracking branch 'origin/master' into debugBlaž Hrastnik2022-02-13
|\
| * cargo fmt + clippy lintBlaž Hrastnik2022-01-23
| |
| * Remove some TODOsBlaž Hrastnik2022-01-23
| |
| * cleanupBlaž Hrastnik2022-01-23
| |
| * Make Layer::parse take &mut tree_sitter::ParserBlaž Hrastnik2022-01-23
| |
| * Use filter_map rather than flat_mapBlaž Hrastnik2022-01-23
| |
| * Set byte range on cursor againBlaž Hrastnik2022-01-23
| |
| * Only call scopes.load() onceBlaž Hrastnik2022-01-23
| |
| * Resolve some outdated commentsBlaž Hrastnik2022-01-23
| |
| * fix: Skip modifying the root layer range, it always covers 0..maxBlaž Hrastnik2022-01-23
| |
| * Update range markers so we can determine which layers can be reusedBlaž Hrastnik2022-01-23
| |
| * Try to reuse an existing layer based on layer.rangesBlaž Hrastnik2022-01-23
| |
| * Ignore layers without highlight captures, avoid cloning rangesBlaž Hrastnik2022-01-23
| |
| * Reuse the source slice between layersBlaž Hrastnik2022-01-23
| |
| * Store theme scopes on the loader, this way theme isn't passed aroundBlaž Hrastnik2022-01-23
| |
| * syntax: Split parsing and highlightingBlaž Hrastnik2022-01-23
| |
| * Use the correct language ID for JavaScript & TypeScript (#1466)Kevin Sjöberg2022-01-15
| | | | | | | | | | | | | | * Use correct language ID for JavaScript/TypeScript * Add missing slash * Only calculate fallback when needed
| * Add llvm-mir highlighting (#1398)Sebastian Neubauer2022-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add injection regex for more languages To support embedding them in other languages like markdown. * Add llvm-mir highlighting LLVM Machine IR is dumped as yaml files that can embed LLVM IR and Machine IR. To support this, add a llvm-mir-yaml language that uses the yaml parser, but uses different injections to highlight IR and MIR. * Update submodule with fixed multiline comments Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
| * feat(lsp): configurable diagnostic severity (#1325)Matouš Dzivjak2021-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(lsp): configurable diagnostic severity Allow severity of diagnostic messages to be configured. E.g. allow turning of Hint level diagnostics. Fixes: https://github.com/helix-editor/helix/issues/1007 * Use language_config() method * Add documentation for diagnostic_severity * Use unreachable for unknown severity level * fix: documentation for diagnostic_severity config
| * Use same name used in config files for langs in docsGokul Soumya2021-12-08
| |
| * Auto generate docs for language supportGokul Soumya2021-12-08
| |
| * Support env flags in shebang (#1224)ath32021-12-03
| |
* | dap: Start working on runInTerminal supportBlaž Hrastnik2021-12-03
| |
* | Merge remote-tracking branch 'origin/master' into debugBlaž Hrastnik2021-11-21
|\|
| * Use default `languages.toml` if user's is invalid (#994)Omnikar2021-11-09
| |
| * Make shebangs optional, they don't make sense outside of scriptsBlaž Hrastnik2021-11-09
| |
| * Refactor shebang detection to reuse the loaded bufferBlaž Hrastnik2021-11-08
| |
| * Detect filetype from shebang line (#1001)ath32021-11-08
| |
* | Merge branch 'master' into debugBlaž Hrastnik2021-11-06
|\|
| * Remove three transmutes from helix-core syntax.rs (#923)Gygaxis Vainhardt2021-10-28
| |
| * log syntax highlighting init errors (#895)Kirawi2021-10-23
| |
| * Add treesitter textobjects (#728)Gokul Soumya2021-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add treesitter textobject queries Only for Go, Python and Rust for now. * Add tree-sitter textobjects Only has functions and class objects as of now. * Fix tests * Add docs for tree-sitter textobjects * Add guide for creating new textobject queries * Add parameter textobject Only parameter.inside is implemented now, parameter.around will probably require custom predicates akin to nvim' `make-range` since we want to select a trailing comma too (a comma will be an anonymous node and matching against them doesn't work similar to named nodes) * Simplify TextObject cell init
| * clean up combined-injections comment (#880)Michael Davis2021-10-19
| |
* | dap: support arrays as argumentsDmitry Sharshakov2021-10-24
| |
* | Invert core -> dap dependencyBlaž Hrastnik2021-10-17
| |
* | Merge branch 'master' into debugBlaž Hrastnik2021-10-17
|\|
| * Allow `language.config` (in languages.toml) to be passed in as a toml object ↵Midnight Exigent2021-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | (#807) * allow language.config (in languages.toml) to be passed in as a toml object * Change config field for languages from json string to toml object * remove indents on languages.toml config * fix: remove patch version from serde_json import in helix-core * Use same tree-sitter-zig as upstream/master
* | editor: add Node.js debuggerDmitry Sharshakov2021-09-26
| |
* | Merge branch 'master' into debugDmitry Sharshakov2021-09-25
|\|
| * ...Blaž Hrastnik2021-09-16
| |
| * syntax: Properly handle injection-regex for language injectionsBlaž Hrastnik2021-09-16
| |
| * fix: Need to reset set_byte_range in case cursor_ref is reused.Blaž Hrastnik2021-09-13
| |
| * syntax: Add go & rust locals, improve tree-sitter error messageBlaž Hrastnik2021-09-06
| |
| * Update tree-sitter to 0.20Blaž Hrastnik2021-09-06
| | | | | | | | | | 0.20 includes querying improvements, we no longer have to convert fragments to strings but can return an iterator of chunks instead.
* | lldb: use stdio transport by defaultDmitry Sharshakov2021-09-06
| |
* | Defaults in completions, better schemaDmitry Sharshakov2021-08-29
| |