summaryrefslogtreecommitdiff
path: root/context/data/scite/lexers/scite-context-lexer-xml-comment.lua
blob: 2d9ce66bdf0ff9bf26ff445f6a04fe930200f329 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
local lexer = lexer
local token = lexer.token
local P = lpeg.P

module(...)

local commentlexer = _M

local whitespace = commentlexer.WHITESPACE -- triggers states

local space      = lexer.space
local nospace    = 1 - space - P("-->")

local p_spaces   = token(whitespace, space  ^1)
local p_comment  = token("comment",  nospace^1)

_rules = {
    { "whitespace", p_spaces  },
    { "comment",    p_comment },
}

_tokenstyles = lexer.context.styleset

_foldsymbols = {
    _patterns = {
        "<%!%-%-", "%-%->", -- comments
    },
    ["comment"] = {
        ["<!--"] = 1, ["-->" ] = -1,
    }
}