diff options
| author | ObserverOfTime <chronobserver@disroot.org> | 2023-08-04 14:50:28 +0300 |
|---|---|---|
| committer | ObserverOfTime <chronobserver@disroot.org> | 2023-08-13 10:34:57 +0300 |
| commit | 5b3dd8cff1064db583ddd3edd314e94a02ea1bef (patch) | |
| tree | 2a8ae4546d07a867531e7f861e48c004050ecf7f /queries/dtd | |
| parent | fixup: php injections (diff) | |
| download | nvim-treesitter-5b3dd8cff1064db583ddd3edd314e94a02ea1bef.tar nvim-treesitter-5b3dd8cff1064db583ddd3edd314e94a02ea1bef.tar.gz nvim-treesitter-5b3dd8cff1064db583ddd3edd314e94a02ea1bef.tar.bz2 nvim-treesitter-5b3dd8cff1064db583ddd3edd314e94a02ea1bef.tar.lz nvim-treesitter-5b3dd8cff1064db583ddd3edd314e94a02ea1bef.tar.xz nvim-treesitter-5b3dd8cff1064db583ddd3edd314e94a02ea1bef.tar.zst nvim-treesitter-5b3dd8cff1064db583ddd3edd314e94a02ea1bef.zip | |
feat: add xml & dtd parsers
Diffstat (limited to 'queries/dtd')
| -rw-r--r-- | queries/dtd/folds.scm | 4 | ||||
| -rw-r--r-- | queries/dtd/highlights.scm | 121 | ||||
| -rw-r--r-- | queries/dtd/injections.scm | 1 |
3 files changed, 126 insertions, 0 deletions
diff --git a/queries/dtd/folds.scm b/queries/dtd/folds.scm new file mode 100644 index 000000000..ba7ea121b --- /dev/null +++ b/queries/dtd/folds.scm @@ -0,0 +1,4 @@ +[ + (conditionalSect) + (Comment) +] @fold diff --git a/queries/dtd/highlights.scm b/queries/dtd/highlights.scm new file mode 100644 index 000000000..ba34f0bfe --- /dev/null +++ b/queries/dtd/highlights.scm @@ -0,0 +1,121 @@ +;; XML declaration + +(XMLDecl "xml" @preproc) + +(XMLDecl [ "version" "encoding" ] @tag.attribute) + +(XMLDecl (EncName) @string.special) + +(XMLDecl (VersionNum) @number) + +;; Processing instructions + +(PI) @preproc + +;; Element declaration + +(elementdecl + "ELEMENT" @define + (Name) @tag) + +(contentspec + (_ (Name) @tag.attribute)) + +"#PCDATA" @type.builtin + +[ "EMPTY" "ANY" ] @type.qualifier + +[ "*" "?" "+" ] @character.special + +;; Entity declaration + +(GEDecl + "ENTITY" @define + (Name) @constant) + +(GEDecl (EntityValue) @string) + +(NDataDecl + "NDATA" @keyword + (Name) @label) + +;; Parsed entity declaration + +(PEDecl + "ENTITY" @define + "%" @operator + (Name) @function.macro) + +(PEDecl (EntityValue) @string) + +;; Notation declaration + +(NotationDecl + "NOTATION" @preproc + (Name) @label) + +((NotationDecl + (ExternalID + (SystemLiteral (URI) @string.special)) + (#set! "priority" 105))) + +;; Attlist declaration + +(AttlistDecl + "ATTLIST" @define + (Name) @tag) + +(AttDef (Name) @tag.attribute) + +(AttDef (Enumeration (Nmtoken) @string)) + +[ + (StringType) + (TokenizedType) +] @type.builtin + +(NotationType "NOTATION" @type.builtin) + +[ + "#REQUIRED" + "#IMPLIED" + "#FIXED" +] @attribute + +;; Entities + +(EntityRef) @constant + +((EntityRef) @constant.builtin + (#any-of? @constant.builtin + "&" "<" ">" """ "'")) + +(CharRef) @character + +(PEReference) @function.macro + +;; External references + +[ "PUBLIC" "SYSTEM" ] @keyword + +(PubidLiteral) @string.special + +(SystemLiteral (URI) @text.uri) + +;; Delimiters & punctuation + +[ "<?" "?>" "<!" ">" "]]>" ] @tag.delimiter + +[ "(" ")" "[" ] @punctuation.bracket + +[ "\"" "'" ] @punctuation.delimiter + +[ "," "|" "=" ] @operator + +;; Misc + +[ "INCLUDE" "IGNORE" ] @include + +(Comment) @comment @spell + +(ERROR) @error diff --git a/queries/dtd/injections.scm b/queries/dtd/injections.scm new file mode 100644 index 000000000..ed5557a05 --- /dev/null +++ b/queries/dtd/injections.scm @@ -0,0 +1 @@ +(Comment) @comment |
