From 6f3a12a2ae923e7f35429a8d26c638520a445f61 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 13 Apr 2012 09:31:00 +0200 Subject: beta 2012.04.13 09:31 --- .../data/scite/lexers/scite-context-lexer-lua.lua | 2 +- .../data/scite/lexers/scite-context-lexer-mps.lua | 2 +- .../data/scite/lexers/scite-context-lexer-pdf.lua | 2 +- .../data/scite/lexers/scite-context-lexer-tex.lua | 2 +- .../data/scite/lexers/scite-context-lexer-txt.lua | 15 +- .../data/scite/lexers/scite-context-lexer-xml.lua | 2 +- context/data/scite/lexers/scite-context-lexer.lua | 75 +++---- .../lexers/themes/scite-context-theme-keep.lua | 233 +++++++++++++++++++++ .../scite/lexers/themes/scite-context-theme.lua | 231 +++++++++++++------- .../data/scite/scite-context-external.properties | 2 +- 10 files changed, 433 insertions(+), 133 deletions(-) create mode 100644 context/data/scite/lexers/themes/scite-context-theme-keep.lua (limited to 'context/data') diff --git a/context/data/scite/lexers/scite-context-lexer-lua.lua b/context/data/scite/lexers/scite-context-lexer-lua.lua index 55bc30999..248672b06 100644 --- a/context/data/scite/lexers/scite-context-lexer-lua.lua +++ b/context/data/scite/lexers/scite-context-lexer-lua.lua @@ -6,7 +6,7 @@ local info = { license = "see context related readme files", } -if not lexer._CONTEXTEXTENSIONS then dofile(_LEXERHOME .. "/scite-context-lexer.lua") end +if not lexer._CONTEXTEXTENSIONS then require("scite-context-lexer") end local lexer = lexer local token, style, colors, exact_match, no_style = lexer.token, lexer.style, lexer.colors, lexer.exact_match, lexer.style_nothing diff --git a/context/data/scite/lexers/scite-context-lexer-mps.lua b/context/data/scite/lexers/scite-context-lexer-mps.lua index 00cc7f8ba..4dd498b53 100644 --- a/context/data/scite/lexers/scite-context-lexer-mps.lua +++ b/context/data/scite/lexers/scite-context-lexer-mps.lua @@ -6,7 +6,7 @@ local info = { license = "see context related readme files", } -if not lexer._CONTEXTEXTENSIONS then dofile(_LEXERHOME .. "/scite-context-lexer.lua") end +if not lexer._CONTEXTEXTENSIONS then require("scite-context-lexer") end local lexer = lexer local global, string, table, lpeg = _G, string, table, lpeg diff --git a/context/data/scite/lexers/scite-context-lexer-pdf.lua b/context/data/scite/lexers/scite-context-lexer-pdf.lua index 05517bb64..61cf819f0 100644 --- a/context/data/scite/lexers/scite-context-lexer-pdf.lua +++ b/context/data/scite/lexers/scite-context-lexer-pdf.lua @@ -6,7 +6,7 @@ local info = { license = "see context related readme files", } -if not lexer._CONTEXTEXTENSIONS then dofile(_LEXERHOME .. "/scite-context-lexer.lua") end +if not lexer._CONTEXTEXTENSIONS then require("scite-context-lexer") end local lexer = lexer local token = lexer.token diff --git a/context/data/scite/lexers/scite-context-lexer-tex.lua b/context/data/scite/lexers/scite-context-lexer-tex.lua index 812dfbb05..3408d1eb4 100644 --- a/context/data/scite/lexers/scite-context-lexer-tex.lua +++ b/context/data/scite/lexers/scite-context-lexer-tex.lua @@ -33,7 +33,7 @@ local info = { ]]-- -if not lexer._CONTEXTEXTENSIONS then dofile(_LEXERHOME .. "/scite-context-lexer.lua") end +if not lexer._CONTEXTEXTENSIONS then require("scite-context-lexer") end local lexer = lexer local global, string, table, lpeg = _G, string, table, lpeg diff --git a/context/data/scite/lexers/scite-context-lexer-txt.lua b/context/data/scite/lexers/scite-context-lexer-txt.lua index d92be8ed7..2f476a6a8 100644 --- a/context/data/scite/lexers/scite-context-lexer-txt.lua +++ b/context/data/scite/lexers/scite-context-lexer-txt.lua @@ -6,16 +6,13 @@ local info = { license = "see context related readme files", } -if not lexer._CONTEXTEXTENSIONS then dofile(_LEXERHOME .. "/scite-context-lexer.lua") end +if not lexer._CONTEXTEXTENSIONS then require("scite-context-lexer") end local lexer = lexer local token = lexer.token local P, S, Cmt = lpeg.P, lpeg.S, lpeg.Cmt local find, match = string.find, string.match --- local textlexer = (_VERSION == "Lua 5.1" and (module(...) or true) and _M) or { } --- (_VERSION == "Lua 5.1" and (module(...) or true) and _M) or { } - local textlexer = { _NAME = "text" } local context = lexer.context @@ -31,6 +28,12 @@ local checkedword = context.checkedword local setwordlist = context.setwordlist local validwords = false +-- local styleset = context.newstyleset { +-- "default", +-- "text", "okay", "error", "warning", +-- "preamble", +-- } + -- [#!-%] language=uk local p_preamble = Cmt(#(S("#!-%") * P(" ")), function(input,i,_) -- todo: utf bomb @@ -48,7 +51,7 @@ local p_preamble = Cmt(#(S("#!-%") * P(" ")), function(input,i,_) -- todo: utf b end) local t_preamble = - token('preamble', p_preamble) + token("preamble", p_preamble) local t_word = Cmt(wordpattern, function(_,i,s) @@ -76,6 +79,6 @@ textlexer._rules = { { "rest", t_rest }, } -textlexer._tokenstyles = lexer.context.styleset +textlexer._tokenstyles = context.styleset return textlexer diff --git a/context/data/scite/lexers/scite-context-lexer-xml.lua b/context/data/scite/lexers/scite-context-lexer-xml.lua index 2ca814fef..89b20f3a4 100644 --- a/context/data/scite/lexers/scite-context-lexer-xml.lua +++ b/context/data/scite/lexers/scite-context-lexer-xml.lua @@ -12,7 +12,7 @@ local info = { -- todo: parse entities in attributes -if not lexer._CONTEXTEXTENSIONS then dofile(_LEXERHOME .. "/scite-context-lexer.lua") end +if not lexer._CONTEXTEXTENSIONS then require("scite-context-lexer") end local lexer = lexer local global, string, table, lpeg = _G, string, table, lpeg diff --git a/context/data/scite/lexers/scite-context-lexer.lua b/context/data/scite/lexers/scite-context-lexer.lua index 166ee96d6..04eb8400c 100644 --- a/context/data/scite/lexers/scite-context-lexer.lua +++ b/context/data/scite/lexers/scite-context-lexer.lua @@ -17,12 +17,20 @@ local info = { -- installation issue). The loading takes place with: -- -- if not lexer._CONTEXTEXTENSIONS then --- dofile(_LEXERHOME .. "/scite-context-lexer.lua") +-- dofile(_LEXERHOME .. "/scite-context-lexer.lua") -- end -- --- So, where pre 3.03 we loaded that file and in that file th eoriginal lexing code, we +-- So, where pre 3.03 we loaded that file and in that file the original lexing code, we -- now do the reverse. -- +-- Another change has been that _LEXERHOME is no longer available. It looks like more and +-- more functionality gets dropped so maybe at some point we need to ship our own dll/so +-- files. +-- +-- An increase in the number of built in styles made our own crash (probably due to some +-- maximum being reached) so some measures has been taken. We now get pretty close to +-- replacing the main lexer.lua file. +-- -- Also needed: preamble scan once. Can be handled in caller below and _M.preamble. -- -- For huge files folding can be pretty slow and I do have some large ones that I keep @@ -37,10 +45,10 @@ local info = { -- is used to revert to a parent lexer we need to make sure that we load children as late -- as possible in order not to get the wrong whitespace trigger. This took me quite a while -- to figure out (not being that familiar with the internals). The lex and fold functions --- hav ebeen optimized. It is a pitty that there is no proper print available. +-- have been optimized. It is a pitty that there is no proper print available. -- Maybe it's safer to copy the other methods here so that we have no dependencies, apart --- from the the library. +-- from the c library. -- Something is wrong with folds in combination with scite 3.00. @@ -51,8 +59,12 @@ local concat = table.concat local global = _G local type, next, setmetatable, rawset = type, next, setmetatable, rawset -if not lexer then +if lexer then + -- we're ok +elseif _LEXERHOME then dofile(_LEXERHOME .. '/lexer.lua') -- pre 3.03 situation +else + dofile('lexer.lua') -- whatever end lexer.context = lexer.context or { } @@ -65,48 +77,23 @@ lexer._CONTEXTEXTENSIONS = true local locations = { -- lexer.context.path, - _LEXERHOME .. "/data", -- optional data directory - _LEXERHOME .. "/..", -- regular scite directory + "data", -- optional data directory + "..", -- regular scite directory } local function collect(name) - local definitions = loadfile(name .. ".luc") or loadfile(name .. ".lua") - if type(definitions) == "function" then - definitions = definitions() - end - if type(definitions) == "table" then - return definitions - else - return nil +-- local definitions = loadfile(name .. ".luc") or loadfile(name .. ".lua") + local okay, definitions = pcall(function () return require(name) end) + if okay then + if type(definitions) == "function" then + definitions = definitions() + end + if type(definitions) == "table" then + return definitions + end end end --- local function exists(name) --- local f = global.io.open(name) --- return f and true or false --- end --- --- local function collect(name) --- local f = global.io.open(name .. ".properties") --- if f then --- local result = { } --- local data = gsub(f:read("*all") or "","\\ *[\n\r]+"," ") --- for name, words in gmatch(data,".-([^%.]-)=(.-)\n") do --- if name ~= "all" then --- local list = { } --- for word in gmatch(words,"([^ ]+)") do --- list[#list+1] = word --- end --- result[name] = list --- end --- end --- f:close() --- if next(result) then --- return result --- end --- end --- end - function context.loaddefinitions(name) for i=1,#locations do local data = collect(locations[i] .. "/" .. name) @@ -719,3 +706,9 @@ patterns.invisibles = lpeg.utfchartabletopattern { patterns.iwordtoken = patterns.wordtoken - patterns.invisibles patterns.iwordpattern = patterns.iwordtoken^3 + +-- require("themes/scite-context-theme") + +-- In order to deal with some bug in additional styles (I have no cue what is +-- wrong, but additional styles get ignored and clash somehow) I just copy the +-- original lexer code ... see original for comments. 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 diff --git a/context/data/scite/scite-context-external.properties b/context/data/scite/scite-context-external.properties index b492e2932..d0e6fc9c5 100644 --- a/context/data/scite/scite-context-external.properties +++ b/context/data/scite/scite-context-external.properties @@ -6,7 +6,7 @@ lexer.lpeg.home=$(SciteDefaultHome)/lexers # # pre 3.03: # -# lexer.lpeg.script=$(lexer.lpeg.home)/scite-context-lexer.lua +#~ lexer.lpeg.script=$(lexer.lpeg.home)/scite-context-lexer.lua # # # post 3.03: # -- cgit v1.2.3