KDL
KDL syntax highlighting for Sublime Text
Details
Installs
- Total 121
- Win 16
- Mac 47
- Linux 58
Jul 26 | Jul 25 | Jul 24 | Jul 23 | Jul 22 | Jul 21 | Jul 20 | Jul 19 | Jul 18 | Jul 17 | Jul 16 | Jul 15 | Jul 14 | Jul 13 | Jul 12 | Jul 11 | Jul 10 | Jul 9 | Jul 8 | Jul 7 | Jul 6 | Jul 5 | Jul 4 | Jul 3 | Jul 2 | Jul 1 | Jun 30 | Jun 29 | Jun 28 | Jun 27 | Jun 26 | Jun 25 | Jun 24 | Jun 23 | Jun 22 | Jun 21 | Jun 20 | Jun 19 | Jun 18 | Jun 17 | Jun 16 | Jun 15 | Jun 14 | Jun 13 | Jun 12 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 2 | 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