aboutsummaryrefslogtreecommitdiff
path: root/data/plugins/language_cpp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'data/plugins/language_cpp.lua')
-rw-r--r--data/plugins/language_cpp.lua109
1 files changed, 81 insertions, 28 deletions
diff --git a/data/plugins/language_cpp.lua b/data/plugins/language_cpp.lua
index 2e3b7924..cf3d7cd2 100644
--- a/data/plugins/language_cpp.lua
+++ b/data/plugins/language_cpp.lua
@@ -1,30 +1,77 @@
-- mod-version:1 -- lite-xl 1.16
+pcall(require, "plugins.language_c")
+
local syntax = require "core.syntax"
syntax.add {
- files = { "%.cpp$", "%.h$", "%.hpp$", "%.inl$" },
+ files = {
+ "%.h$", "%.inl$", "%.cpp$", "%.cc$", "%.C$", "%.cxx$",
+ "%.c++$", "%.hh$", "%.H$", "%.hxx$", "%.hpp$", "%.h++$"
+ },
comment = "//",
patterns = {
- { pattern = "//.-\n", type = "comment" },
- { pattern = { "/%*", "%*/" }, type = "comment" },
- { pattern = { '"', '"', '\\' }, type = "string" },
- { pattern = { "'", "'", '\\' }, type = "string" },
- { pattern = "0x%x+", type = "number" },
- { pattern = "%d+[%d%.eE]*f?", type = "number" },
- { pattern = "%.?%d+f?", type = "number" },
- { pattern = "[%+%-=/%*%^%%<>!~|&]", type = "operator" },
- { pattern = "struct%s()[%a_][%w_]*", type = {"keyword", "keyword2"} },
- { pattern = "class%s()[%a_][%w_]*", type = {"keyword", "keyword2"} },
- { pattern = "union%s()[%a_][%w_]*", type = {"keyword", "keyword2"} },
- { pattern = "namespace%s()[%a_][%w_]*", type = {"keyword", "keyword2"} },
- { pattern = "[%a_][%w_]*::", type = "symbol" },
- { pattern = "::", type = "symbol" },
- -- { pattern = "[%a_][%w_]*%f[(]", type = "function" },
- { pattern = "[%a_][%w_]*", type = "symbol" },
- { pattern = "#include%s()<.->", type = {"keyword", "string"} },
- { pattern = "#[%a_][%w_]*", type = "keyword" },
+ { pattern = "//.-\n", type = "comment" },
+ { pattern = { "/%*", "%*/" }, type = "comment" },
+ { pattern = { '"', '"', '\\' }, type = "string" },
+ { pattern = { "'", "'", '\\' }, type = "string" },
+ { pattern = "0x%x+", type = "number" },
+ { pattern = "%d+[%d%.eE]*f?", type = "number" },
+ { pattern = "%.?%d+f?", type = "number" },
+ { pattern = "[%+%-=/%*%^%%<>!~|&]", type = "operator" },
+ { pattern = "struct%s()[%a_][%w_]*", type = {"keyword", "keyword2"} },
+ { pattern = "class%s()[%a_][%w_]*", type = {"keyword", "keyword2"} },
+ { pattern = "union%s()[%a_][%w_]*", type = {"keyword", "keyword2"} },
+ { pattern = "namespace%s()[%a_][%w_]*", type = {"keyword", "keyword2"} },
+ { pattern = "[%a_][%w_]*::", type = "symbol" },
+ { pattern = "::", type = "symbol" },
+ { pattern = "[%a_][%w_]*", type = "symbol" },
+ { pattern = "#include%s()<.->", type = {"keyword", "string"} },
+ { pattern = "#[%a_][%w_]*", type = "keyword" },
},
symbols = {
+ ["alignof"] = "keyword",
+ ["alignas"] = "keyword",
+ ["private"] = "keyword",
+ ["protected"] = "keyword",
+ ["public"] = "keyword",
+ ["register"] = "keyword",
+ ["nullptr"] = "keyword",
+ ["operator"] = "keyword",
+ ["asm"] = "keyword",
+ ["catch"] = "keyword",
+ ["throw"] = "keyword",
+ ["try"] = "keyword",
+ ["compl"] = "keyword",
+ ["explicit"] = "keyword",
+ ["export"] = "keyword",
+ ["concept"] = "keyword",
+ ["consteval"] = "keyword",
+ ["constexpr"] = "keyword",
+ ["constinit"] = "keyword",
+ ["const_cast"] = "keyword",
+ ["dynamic_cast"] = "keyword",
+ ["reinterpret_cast"] = "keyword",
+ ["static_cast"] = "keyword",
+ ["static_assert"] = "keyword",
+ ["template"] = "keyword",
+ ["this"] = "keyword",
+ ["thread_local"] = "keyword",
+ ["requires"] = "keyword",
+ ["co_wait"] = "keyword",
+ ["co_return"] = "keyword",
+ ["co_yield"] = "keyword",
+ ["decltype"] = "keyword",
+ ["delete"] = "keyword",
+ ["export"] = "keyword",
+ ["friend"] = "keyword",
+ ["typeid"] = "keyword",
+ ["typename"] = "keyword",
+ ["mutable"] = "keyword",
+ ["override"] = "keyword",
+ ["virtual"] = "keyword",
+ ["using"] = "keyword",
+ ["new"] = "keyword",
+ ["noexcept"] = "keyword",
["if"] = "keyword",
["then"] = "keyword",
["else"] = "keyword",
@@ -47,9 +94,8 @@ syntax.add {
["case"] = "keyword",
["default"] = "keyword",
["auto"] = "keyword",
+ ["const"] = "keyword",
["void"] = "keyword",
- ["template"] = "keyword",
- ["typename"] = "keyword",
["int"] = "keyword2",
["short"] = "keyword2",
["long"] = "keyword2",
@@ -58,12 +104,19 @@ syntax.add {
["char"] = "keyword2",
["unsigned"] = "keyword2",
["bool"] = "keyword2",
- ["true"] = "literal",
- ["false"] = "literal",
- ["nullptr"] = "literal",
- ["public"] = "keyword",
- ["private"] = "keyword",
- ["protected"] = "keyword",
- },
+ ["true"] = "keyword2",
+ ["false"] = "keyword2",
+ ["#include"] = "keyword",
+ ["#if"] = "keyword",
+ ["#ifdef"] = "keyword",
+ ["#ifndef"] = "keyword",
+ ["#else"] = "keyword",
+ ["#elseif"] = "keyword",
+ ["#endif"] = "keyword",
+ ["#define"] = "keyword",
+ ["#warning"] = "keyword",
+ ["#error"] = "keyword",
+ ["#pragma"] = "keyword",
+ },
}