KDL
KDL syntax highlighting for Sublime Text
Details
Installs
- Total 134
- Win 16
- Mac 52
- Linux 66
Sep 10 | Sep 9 | Sep 8 | Sep 7 | Sep 6 | Sep 5 | Sep 4 | Sep 3 | Sep 2 | Sep 1 | Aug 31 | Aug 30 | Aug 29 | Aug 28 | Aug 27 | Aug 26 | Aug 25 | Aug 24 | Aug 23 | Aug 22 | Aug 21 | Aug 20 | Aug 19 | Aug 18 | Aug 17 | Aug 16 | Aug 15 | Aug 14 | Aug 13 | Aug 12 | Aug 11 | Aug 10 | Aug 9 | Aug 8 | Aug 7 | Aug 6 | Aug 5 | Aug 4 | Aug 3 | Aug 2 | Aug 1 | Jul 31 | Jul 30 | Jul 29 | Jul 28 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Linux | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
A Sublime Text 4 syntax highlighting package for the KDL cuddly document language
Introduction
This package adds support for the KDL
document language (for files with .kdl
extension)
Install
Via Package Control: open
Command Palette
→Package Control: Install Package
→kdl
Ctrl/⌘Cmd⇧ShiftPManually: clone this repository to your Packages directory and rename it to
kdl
cd /path/to/sublime/packages/directory
git clone https://github.com/eugenesvk/sublime-kdl.git
mv sublime-kdl KDL
- Your color scheme likely needs to be patched to ignore or take full advantages of the /-slashdashed comment blocks:
Patched examples used for the screenshots below: solarized, default- to style /-slashdashed elements with muted colors:
- add
-comment
to your scopes, e.g.,{"name":"Tag name","foreground":"var(blue6)","scope":"entity.name.tag -comment"},
- add a copy of the same rule with an extra
comment
scope and a blending color function, e.g.,{"name":"Tag name C","foreground":"color(var(blue6) blend(#000 60% hsl))","scope":"entity.name.tag comment"},
- to style /-slashdashed elements like regular comments add
comment.line.slash-dash.kdl
scope to your Comment rule (e.g.,{"name":"Comment","foreground":"black","scope":"comment, comment.line.slash-dash.kdl"},
) so that its 4 level specificity overrides other rules likeentity.other.attribute-name
Use
Open any kdl
file (e.g., syntax_example_screen.kdl) and verify that the selected syntax is KDL
and KDL-specific contexts are properly scoped[1] and highlighted, maybe like so (depending on your color scheme):
[1]: scope naming is supposed to conform to ST's scope naming guidelines
Exposed scopes
List of scope names
| KDL construct | Scope name
| :———— | :———-
| Entity | entity.name.
tag.node
¦type
entity.other.attribute-name
.kdl
| Elemens | meta.
node
¦block.child
¦argument.value
¦property.
¦
name
¦separator
¦value
.kdl
| Mappings | meta.mapping.
key
¦separator
¦value
punctuation.separator.key-value
punctuation.section.mapping.
begin
¦end
.kdl
| Number | constant.numeric.
decimal
¦float
¦integer.
¦
binary
¦octal
¦hexadecimal
constant.numeric.
base
¦exponent
¦significand
¦value
punctuation.separator.
decimal
¦exponent
¦number
.kdl
| String | meta.string
storage.type.string
string.quoted.double.
¦
raw
punctuation.definition.string.
begin
¦end
.kdl
| Comment | comment.block
comment.block.documentation
comment.
block
¦line.
double-slash
punctuation.definition.comment.
begin
¦end
.kdl
| Annotation | meta.annotation
punctuation.separator.annotation.
begin
¦end
.kdl
| Others | constant.character.
escape
¦escape.unicode.16-bit-hex
constant.language.
boolean
¦null
keyword.
other
¦operator.arithmetic
punctuation.separator.continuation.line
punctuation.terminator.node
invalid.illegal.
¦
muted
¦position
¦muted.position
.kdl
Keybindings
This plugin adds two keybindings for the kdl
scope: "
/'
that auto-pair double/single quotes even after string modifiers
Add "kdl.keybind_disable":true
to your Preferences.sublime-settings
to disable
Known issues
- Only works in Sublime Text 4 since build 4075 (10 July 2020) since it's using version 2 of the syntax
Credits
The default packages' syntax files (Python, Bash, PHP), as well as fish and vscode-kdl