Skip to content

Commit

Permalink
feat(languages): git-ignore and git-attributes (#2397)
Browse files Browse the repository at this point in the history
  • Loading branch information
mtoohey31 authored May 5, 2022
1 parent fc61796 commit a5f4925
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 1 deletion.
2 changes: 2 additions & 0 deletions book/src/generated/lang-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,11 @@
| erlang || | | `erlang_ls` |
| fish |||| |
| gdscript || || |
| git-attributes || | | |
| git-commit || | | |
| git-config || | | |
| git-diff || | | |
| git-ignore || | | |
| git-rebase || | | |
| gleam || | | |
| glsl || || |
Expand Down
2 changes: 1 addition & 1 deletion helix-core/src/syntax.rs
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ impl TextObjectQuery {

fn read_query(language: &str, filename: &str) -> String {
static INHERITS_REGEX: Lazy<Regex> =
Lazy::new(|| Regex::new(r";+\s*inherits\s*:?\s*([a-z_,()]+)\s*").unwrap());
Lazy::new(|| Regex::new(r";+\s*inherits\s*:?\s*([a-z_,()-]+)\s*").unwrap());

let query = load_runtime_file(language, filename).unwrap_or_default();

Expand Down
26 changes: 26 additions & 0 deletions languages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -956,6 +956,32 @@ indent = { tab-width = 4, unit = "\t" }
name = "git-config"
source = { git = "https://github.com/the-mikedavis/tree-sitter-git-config", rev = "0e4f0baf90b57e5aeb62dcdbf03062c6315d43ea" }

[[language]]
name = "git-attributes"
scope = "source.gitattributes"
roots = []
file-types = [".gitattributes"]
injection-regex = "git-attributes"
comment-token = "#"
grammar = "gitattributes"

[[grammar]]
name = "gitattributes"
source = { git = "https://github.com/mtoohey31/tree-sitter-gitattributes", rev = "3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4" }

[[language]]
name = "git-ignore"
scope = "source.gitignore"
roots = []
file-types = [".gitignore"]
injection-regex = "git-ignore"
comment-token = "#"
grammar = "gitignore"

[[grammar]]
name = "gitignore"
source = { git = "https://github.com/shunsambongi/tree-sitter-gitignore", rev = "f4685bf11ac466dd278449bcfe5fd014e94aa504" }

[[language]]
name = "graphql"
scope = "source.graphql"
Expand Down
9 changes: 9 additions & 0 deletions runtime/queries/git-attributes/highlights.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
; inherits: git-ignore

(attribute) @variable
(value) @string

(quoted_pattern ["\""] @string)

(attribute_unset) @operator
(attribute_set_to) @operator
25 changes: 25 additions & 0 deletions runtime/queries/git-ignore/highlights.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
(pattern_char) @string
(pattern_char_escaped) @constant.character.escape

(directory_separator) @string
(directory_separator_escaped) @constant.character.escape

(negation) @operator

(wildcard_char_single) @operator
(wildcard_chars) @operator
(wildcard_chars_allow_slash) @operator

(bracket_char) @string
(bracket_char_escaped) @constant.character.escape

(bracket_negation) @operator
(bracket_range) @operator
(bracket_char_class) @keyword

[
"["
"]"
] @punctuation.bracket

(comment) @comment

0 comments on commit a5f4925

Please sign in to comment.