diff options
author | Rohan Vashisht <81112205+RohanVashisht1234@users.noreply.github.com> | 2024-04-20 21:55:41 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-20 18:25:41 +0200 |
commit | ded40e146b7bb79eba0c3e14ba88f1cd110e039f (patch) | |
tree | 276f64ef7d989ce41adb3c0eaf4c522a27011085 /plugins | |
parent | ad65bd2e4886f6661001db7968f0298354351a30 (diff) | |
download | lite-xl-plugins-ded40e146b7bb79eba0c3e14ba88f1cd110e039f.tar.gz lite-xl-plugins-ded40e146b7bb79eba0c3e14ba88f1cd110e039f.zip |
added support for Bazel syntax (#420)
* Create language_bazel.lua
* Update language_bazel.lua
* Update manifest.json
* Update manifest.json
* Update language_bazel.lua
* Update manifest.json
* Update language_bazel.lua
* Update language_bazel.lua
* Bump `meta_languages` version
---------
Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/language_bazel.lua | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/plugins/language_bazel.lua b/plugins/language_bazel.lua new file mode 100644 index 0000000..8b0348e --- /dev/null +++ b/plugins/language_bazel.lua @@ -0,0 +1,102 @@ +--- Author: Rohan Vashisht: https://github.com/rohanvashisht1234/ +-- mod-version:3 +------------ IMPORT LIB ------------ +local syntax_highlight = require("core.syntax") +------------------------------------ + +------------- DATABASE ------------- + +---- SYMBOLS ---- +local SYMBOLS = {} + +local KEYWORDS = { + "break", + "continue", + "elif", + "else", + "for", + "if", + "pass", + "return", + "True", + "False" +} + +local KEYWORDS2 = { + "as", + "assert", + "class", + "del", + "except", + "finally", + "from", + "global", + "import", + "in", + "is", + "lambda", + "nonlocal", + "raise", + "try", + "while", + "with", + "yield" +} + +local LITERALS = { + "all", + "any", + "bool", + "dict", + "dir", + "enumerate", + "getattr", + "hasattr", + "hash", + "int", + "len", + "list", + "load", + "max", + "min", + "repr", + "reversed", + "sorted", + "str", + "tuple", + "type", + "zip" +} +----------------- + +---- PATTERNS ---- +local PATTERNS = { + { pattern = { '"', '"', '\\' }, type = "string" }, -- tested ok + { pattern = "#.*", type = "comment" }, -- tested ok + { pattern = "[!%-/*?:=><]", type = "operator" }, -- tested ok + { pattern = "-?%d+[%d%.eE_]*", type = "number" }, -- tested ok + { pattern = '[%a_][%w_]*%f[(]', type = 'function' }, -- tested ok + { pattern = "-?%d+[%d%.eE_]*", type = "number" }, -- tested ok + { pattern = "[%a_][%w_]*", type = "normal" } -- tested ok +} +------------------ +------------------------------------ + +--------------- MAIN --------------- +for _, keyword in ipairs(KEYWORDS) do + SYMBOLS[keyword] = "keyword" +end +for _, keyword2 in ipairs(KEYWORDS2) do + SYMBOLS[keyword2] = "keyword2" +end +for _, literal in ipairs(LITERALS) do + SYMBOLS[literal] = "literal" +end +syntax_highlight.add { + name = "Bazel", + files = {"%.bazel$","%.bzl$"}, + comment = "#", + patterns = PATTERNS, + symbols = SYMBOLS, +} +------------------------------------ |