summaryrefslogtreecommitdiff
path: root/context/data/scite/lexers/themes
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2012-04-13 10:40:14 +0300
committerMarius <mariausol@gmail.com>2012-04-13 10:40:14 +0300
commit8864864867b1e1b3dddbf332046594715a9bdc0f (patch)
tree9aa06a95fcf984b4584fec253d395d2a56a83820 /context/data/scite/lexers/themes
parent36b0f38733f407939d9b7b289cef61de179f5f4d (diff)
downloadcontext-8864864867b1e1b3dddbf332046594715a9bdc0f.tar.gz
beta 2012.04.13 09:31
Diffstat (limited to 'context/data/scite/lexers/themes')
-rw-r--r--context/data/scite/lexers/themes/scite-context-theme-keep.lua233
-rw-r--r--context/data/scite/lexers/themes/scite-context-theme.lua231
2 files changed, 384 insertions, 80 deletions
diff --git a/context/data/scite/lexers/themes/scite-context-theme-keep.lua b/context/data/scite/lexers/themes/scite-context-theme-keep.lua
new file mode 100644
index 000000000..7f9423d9a
--- /dev/null
+++ b/context/data/scite/lexers/themes/scite-context-theme-keep.lua
@@ -0,0 +1,233 @@
+local info = {
+ version = 1.002,
+ comment = "theme for scintilla lpeg lexer for context/metafun",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
+ copyright = "PRAGMA ADE / ConTeXt Development Team",
+ license = "see context related readme files",
+}
+
+-- context_path = string.split(os.resultof("mtxrun --find-file context.mkiv"))[1] or ""
+-- global.trace("OEPS") -- how do we get access to the regular lua extensions
+
+-- The regular styles set the main lexer styles table but we avoid that in order not
+-- to end up with updating issues. We just use another table.
+
+-- if not lexer._CONTEXTEXTENSIONS then require("scite-context-lexer") end
+
+local context_path = "t:/sources" -- c:/data/tex-context/tex/texmf-context/tex/base
+local font_name = 'Dejavu Sans Mono'
+local font_size = 14
+
+if not WIN32 then
+ font_name = '!' .. font_name
+end
+
+local color = lexer.color
+local style = lexer.style
+
+lexer.context = lexer.context or { }
+local context = lexer.context
+
+context.path = context_path
+
+colors = {
+ red = color('7F', '00', '00'),
+ green = color('00', '7F', '00'),
+ blue = color('00', '00', '7F'),
+ cyan = color('00', '7F', '7F'),
+ magenta = color('7F', '00', '7F'),
+ yellow = color('7F', '7F', '00'),
+ orange = color('B0', '7F', '00'),
+ --
+ white = color('FF', 'FF', 'FF'),
+ light = color('CF', 'CF', 'CF'),
+ grey = color('80', '80', '80'),
+ dark = color('4F', '4F', '4F'),
+ black = color('00', '00', '00'),
+ --
+ selection = color('F7', 'F7', 'F7'),
+ logpanel = color('E7', 'E7', 'E7'),
+ textpanel = color('CF', 'CF', 'CF'),
+ linepanel = color('A7', 'A7', 'A7'),
+ tippanel = color('44', '44', '44'),
+ --
+ right = color('00', '00', 'FF'),
+ wrong = color('FF', '00', '00'),
+}
+
+colors.teal = colors.cyan
+colors.purple = colors.magenta
+
+-- to be set:
+--
+-- style_nothing
+-- style_class
+-- style_comment
+-- style_constant
+-- style_definition
+-- style_error
+-- style_function
+-- style_keyword
+-- style_number
+-- style_operator
+-- style_string
+-- style_preproc
+-- style_tag
+-- style_type
+-- style_variable
+-- style_embedded
+-- style_label
+-- style_regex
+-- style_identifier
+--
+-- style_line_number
+-- style_bracelight
+-- style_bracebad
+-- style_controlchar
+-- style_indentguide
+-- style_calltip
+
+style_default = style {
+ font = font_name,
+ size = font_size,
+ fore = colors.black,
+ back = colors.textpanel,
+}
+
+style_nothing = style {
+ -- empty
+}
+
+style_number = style { fore = colors.cyan }
+style_comment = style { fore = colors.yellow }
+style_string = style { fore = colors.magenta }
+style_keyword = style { fore = colors.blue, bold = true }
+
+style_quote = style { fore = colors.blue, bold = true }
+style_special = style { fore = colors.blue }
+style_extra = style { fore = colors.yellow }
+
+style_embedded = style { fore = colors.black, bold = true }
+
+style_char = style { fore = colors.magenta }
+style_reserved = style { fore = colors.magenta, bold = true }
+style_class = style { fore = colors.black, bold = true }
+style_constant = style { fore = colors.cyan, bold = true }
+style_definition = style { fore = colors.black, bold = true }
+style_okay = style { fore = colors.dark }
+style_error = style { fore = colors.red }
+style_warning = style { fore = colors.orange }
+style_invisible = style { back = colors.orange }
+style_function = style { fore = colors.black, bold = true }
+style_operator = style { fore = colors.blue }
+style_preproc = style { fore = colors.yellow, bold = true }
+style_tag = style { fore = colors.cyan }
+style_type = style { fore = colors.blue }
+style_variable = style { fore = colors.black }
+style_identifier = style_nothing
+
+style_standout = style { fore = colors.orange, bold = true }
+
+style_line_number = style { back = colors.linepanel }
+style_bracelight = style_standout
+style_bracebad = style_standout
+style_indentguide = style { fore = colors.linepanel, back = colors.white }
+style_calltip = style { fore = colors.white, back = colors.tippanel }
+style_controlchar = style_nothing
+
+style_label = style { fore = colors.red, bold = true } -- style { fore = colors.cyan, bold = true }
+style_regex = style_string
+
+style_command = style { fore = colors.green, bold = true }
+
+-- only bold seems to work
+
+lexer.style_nothing = style_nothing
+lexer.style_class = style_class
+lexer.style_comment = style_comment
+lexer.style_constant = style_constant
+lexer.style_definition = style_definition
+lexer.style_error = style_error
+lexer.style_function = style_function
+lexer.style_keyword = style_keyword
+lexer.style_number = style_number
+lexer.style_operator = style_operator
+lexer.style_string = style_string
+lexer.style_preproc = style_preproc
+lexer.style_tag = style_tag
+lexer.style_type = style_type
+lexer.style_variable = style_variable
+lexer.style_embedded = style_embedded
+lexer.style_label = style_label
+lexer.style_regex = style_regex
+lexer.style_identifier = style_nothing
+
+local styles = { -- as we have globals we could do with less
+
+ -- ["whitespace"] = style_whitespace, -- not to be set!
+
+["default"] = style_nothing,
+["number"] = style_number,
+["comment"] = style_comment,
+["keyword"] = style_keyword,
+["string"] = style_string,
+["preproc"] = style_preproc,
+
+ ["reserved"] = style_reserved,
+ ["internal"] = style_standout,
+
+ ["command"] = style_command,
+ ["preamble"] = style_comment,
+ ["embedded"] = style_embedded,
+ ["grouping"] = style { fore = colors.red },
+["label"] = style_label,
+ ["primitive"] = style_keyword,
+ ["plain"] = style { fore = colors.dark, bold = true },
+ ["user"] = style { fore = colors.green },
+ ["data"] = style_constant,
+ ["special"] = style_special,
+ ["extra"] = style_extra,
+ ["quote"] = style_quote,
+
+ ["okay"] = style_okay,
+ ["warning"] = style_warning,
+ ["invisible"] = style_invisible,
+["error"] = style_error,
+
+}
+
+-- Old method (still available):
+
+local styleset = { }
+
+for k, v in next, styles do
+ styleset[#styleset+1] = { k, v }
+end
+
+context.styles = styles
+context.styleset = styleset
+
+-- We need to be sparse due to some limitation (and the number of built in styles
+-- growing).
+
+-- function context.newstyleset(list)
+-- local t = { }
+-- if list then
+-- for i=1,#list do
+-- t[list[i]] = true
+-- end
+-- end
+-- return t
+-- end
+
+-- function context.usestyle(set,name)
+-- set[name] = true
+-- return name
+-- end
+
+-- function context.usestyleset(set)
+-- local t = { }
+-- for k, _ in next, set do
+-- t[#t+1] = { k, styles[k] or styles.default }
+-- end
+-- end
diff --git a/context/data/scite/lexers/themes/scite-context-theme.lua b/context/data/scite/lexers/themes/scite-context-theme.lua
index 240755382..fed7b0853 100644
--- a/context/data/scite/lexers/themes/scite-context-theme.lua
+++ b/context/data/scite/lexers/themes/scite-context-theme.lua
@@ -9,6 +9,11 @@ local info = {
-- context_path = string.split(os.resultof("mtxrun --find-file context.mkiv"))[1] or ""
-- global.trace("OEPS") -- how do we get access to the regular lua extensions
+-- The regular styles set the main lexer styles table but we avoid that in order not
+-- to end up with updating issues. We just use another table.
+
+if not lexer._CONTEXTEXTENSIONS then require("scite-context-lexer") end
+
local context_path = "t:/sources" -- c:/data/tex-context/tex/texmf-context/tex/base
local font_name = 'Dejavu Sans Mono'
local font_size = 14
@@ -17,17 +22,15 @@ if not WIN32 then
font_name = '!' .. font_name
end
--- dofile(_LEXERHOME .. '/themes/scite.lua') -- starting point so we miss nothing
+local color = lexer.color
+local style = lexer.style
--- module('lexer', package.seeall)
+lexer.context = lexer.context or { }
+local context = lexer.context
-local color = lexer.color
-local style = lexer.style
+context.path = context_path
-lexer.context = lexer.context or { }
-lexer.context.path = context_path
-
-colors = {
+local colors = {
red = color('7F', '00', '00'),
green = color('00', '7F', '00'),
blue = color('00', '00', '7F'),
@@ -55,87 +58,155 @@ colors = {
colors.teal = colors.cyan
colors.purple = colors.magenta
-style_default = style {
- font = font_name,
- size = font_size,
- fore = colors.black,
- back = colors.textpanel,
-}
-
-style_nothing = style {
- -- empty
-}
-
-style_number = style { fore = colors.cyan }
-style_comment = style { fore = colors.yellow }
-style_string = style { fore = colors.magenta }
-style_keyword = style { fore = colors.blue, bold = true }
-
-style_char = style { fore = colors.magenta }
-style_reserved = style { fore = colors.magenta, bold = true }
-style_class = style { fore = colors.black, bold = true }
-style_constant = style { fore = colors.cyan, bold = true }
-style_definition = style { fore = colors.black, bold = true }
-style_okay = style { fore = colors.dark }
-style_error = style { fore = colors.red }
-style_warning = style { fore = colors.orange }
-style_invisible = style { back = colors.orange }
-style_function = style { fore = colors.black, bold = true }
-style_operator = style { fore = colors.blue }
-style_preproc = style { fore = colors.yellow, bold = true }
-style_tag = style { fore = colors.cyan }
-style_type = style { fore = colors.blue }
-style_variable = style { fore = colors.black }
-style_identifier = style_nothing
-
-style_standout = style { fore = colors.orange, bold = true }
-
-style_line_number = style { back = colors.linepanel }
-style_bracelight = style_standout
-style_bracebad = style_standout
-style_indentguide = style { fore = colors.linepanel, back = colors.white }
-style_calltip = style { fore = colors.white, back = colors.tippanel }
-style_controlchar = style_nothing
-
--- only bold seems to work
-
-lexer.context.styles = {
-
- -- ["whitespace"] = style_whitespace,
-
- ["default"] = style_nothing,
- ["number"] = style_number,
- ["comment"] = style_comment,
- ["keyword"] = style_keyword,
- ["string"] = style_string,
+lexer.colors = colors
+
+-- defaults:
+
+local style_nothing = style { }
+----- style_whitespace = style { }
+local style_comment = style { fore = colors.yellow }
+local style_string = style { fore = colors.magenta }
+local style_number = style { fore = colors.cyan }
+local style_keyword = style { fore = colors.blue, bold = true }
+local style_identifier = style_nothing
+local style_operator = style { fore = colors.blue }
+local style_error = style { fore = colors.red }
+local style_preproc = style { fore = colors.yellow, bold = true }
+local style_constant = style { fore = colors.cyan, bold = true }
+local style_variable = style { fore = colors.black }
+local style_function = style { fore = colors.black, bold = true }
+local style_class = style { fore = colors.black, bold = true }
+local style_type = style { fore = colors.blue }
+local style_label = style { fore = colors.red, bold = true }
+local style_regex = style { fore = colors.magenta }
+
+-- reserved:
+
+local style_default = style { font = font_name, size = font_size, fore = colors.black, back = colors.textpanel }
+local style_line_number = style { back = colors.linepanel }
+local style_bracelight = style { fore = colors.orange, bold = true }
+local style_bracebad = style { fore = colors.orange, bold = true }
+local style_indentguide = style { fore = colors.linepanel, back = colors.white }
+local style_calltip = style { fore = colors.white, back = colors.tippanel }
+local style_controlchar = style_nothing
+
+-- extras:
+
+local style_quote = style { fore = colors.blue, bold = true }
+local style_special = style { fore = colors.blue }
+local style_extra = style { fore = colors.yellow }
+local style_embedded = style { fore = colors.black, bold = true }
+----- style_char = style { fore = colors.magenta }
+local style_reserved = style { fore = colors.magenta, bold = true }
+local style_definition = style { fore = colors.black, bold = true }
+local style_okay = style { fore = colors.dark }
+local style_warning = style { fore = colors.orange }
+local style_invisible = style { back = colors.orange }
+local style_tag = style { fore = colors.cyan }
+----- style_standout = style { fore = colors.orange, bold = true }
+local style_command = style { fore = colors.green, bold = true }
+local style_internal = style { fore = colors.orange, bold = true }
+local style_internal = style { fore = colors.orange, bold = true }
+
+local style_preamble = style { fore = colors.yellow }
+local style_grouping = style { fore = colors.red }
+local style_primitive = style { fore = colors.blue, bold = true }
+local style_plain = style { fore = colors.dark, bold = true }
+local style_user = style { fore = colors.green }
+local style_data = style { fore = colors.cyan, bold = true }
+
+
+-- used by the generic lexer:
+
+lexer.style_nothing = style_nothing -- 0
+-----.whitespace = style_whitespace -- 1
+lexer.style_comment = style_comment -- 2
+lexer.style_string = style_string -- 3
+lexer.style_number = style_number -- 4
+lexer.style_keyword = style_keyword -- 5
+lexer.style_identifier = style_nothing -- 6
+lexer.style_operator = style_operator -- 7
+lexer.style_error = style_error -- 8
+lexer.style_preproc = style_preproc -- 9
+lexer.style_constant = style_constant -- 10
+lexer.style_variable = style_variable -- 11
+lexer.style_function = style_function -- 12
+lexer.style_class = style_class -- 13
+lexer.style_type = style_type -- 14
+lexer.style_label = style_label -- 15
+lexer.style_regex = style_regexp -- 16
+
+lexer.style_default = style_default -- 32
+lexer.style_line_number = style_line_number -- 33
+lexer.style_bracelight = style_bracelight -- 34
+lexer.style_bracebad = style_bracebad -- 35
+lexer.style_indentguide = style_indentguide -- 36
+lexer.style_calltip = style_calltip -- 37
+lexer.style_controlchar = style_controlchar -- 38
+
+local styles = { -- as we have globals we could do with less
+
+ -- ["whitespace"] = style_whitespace, -- not to be set!
+ -- ["default"] = style_nothing,
+ -- ["number"] = style_number,
+ -- ["comment"] = style_comment,
+ -- ["keyword"] = style_keyword,
+ -- ["string"] = style_string,
+ -- ["preproc"] = style_preproc,
+ -- ["error"] = style_error,
+ -- ["label"] = style_label,
+
+ ["quote"] = style_quote,
+ ["special"] = style_special,
+ ["extra"] = style_extra,
+ ["embedded"] = style_embedded,
+ -- ["char"] = style_char,
["reserved"] = style_reserved,
- ["preproc"] = style_preproc,
- ["internal"] = style_standout,
-
- ["command"] = style { fore = colors.green, bold = true },
- ["preamble"] = style_comment,
- ["embedded"] = style { fore = colors.black, bold = true },
- ["grouping"] = style { fore = colors.red },
- ["label"] = style { fore = colors.red, bold = true },
- ["primitive"] = style_keyword,
- ["plain"] = style { fore = colors.dark, bold = true },
- ["user"] = style { fore = colors.green },
- ["data"] = style_constant,
- ["special"] = style { fore = colors.blue },
- ["extra"] = style { fore = colors.yellow },
- ["quote"] = style { fore = colors.blue, bold = true },
-
+ -- ["definition"] = style_definition,
["okay"] = style_okay,
["warning"] = style_warning,
["invisible"] = style_invisible,
- ["error"] = style_error,
+ -- ["standout"] = style_standout,
+ ["command"] = style_command,
+ ["internal"] = style_internal,
+ ["preamble"] = style_preamble,
+ ["grouping"] = style_grouping,
+ ["primitive"] = style_primitive,
+ ["plain"] = style_plain,
+ ["user"] = style_user,
+ ["data"] = style_data,
}
local styleset = { }
-for k, v in next, lexer.context.styles do
+for k, v in next, styles do
styleset[#styleset+1] = { k, v }
end
-lexer.context.styleset = styleset
+context.styles = styles
+context.styleset = styleset
+
+-- We can be sparse if needed:
+
+-- function context.newstyleset(list)
+-- local t = { }
+-- if list then
+-- for i=1,#list do
+-- t[list[i]] = true
+-- end
+-- end
+-- return t
+-- end
+
+-- function context.usestyle(set,name)
+-- set[name] = true
+-- return name
+-- end
+
+-- function context.usestyleset(set)
+-- local t = { }
+-- for k, _ in next, set do
+-- t[#t+1] = { k, styles[k] or styles.default }
+-- end
+-- end