...

Source file src/github.com/alecthomas/chroma/lexers/o/onesenterprise.go

Documentation: github.com/alecthomas/chroma/lexers/o

     1  package o
     2  
     3  import (
     4  	. "github.com/alecthomas/chroma" // nolint
     5  	"github.com/alecthomas/chroma/lexers/internal"
     6  )
     7  
     8  // 1S:Enterprise lexer.
     9  var OnesEnterprise = internal.Register(MustNewLazyLexer(
    10  	&Config{
    11  		Name:            "OnesEnterprise",
    12  		Aliases:         []string{"ones", "onesenterprise", "1S", "1S:Enterprise"},
    13  		Filenames:       []string{"*.EPF", "*.epf", "*.ERF", "*.erf"},
    14  		MimeTypes:       []string{"application/octet-stream"},
    15  		CaseInsensitive: true,
    16  	},
    17  	onesRules,
    18  ))
    19  
    20  func onesRules() Rules {
    21  	return Rules{
    22  		"root": {
    23  			{`\n`, Text, nil},
    24  			{`\s+`, Text, nil},
    25  			{`\\\n`, Text, nil},
    26  			{`[^\S\n]+`, Text, nil},
    27  			{`//(.*?)\n`, Comment, nil},
    28  			{`(#область|#region|#конецобласти|#endregion|#если|#if|#иначе|#else|#конецесли|#endif).*`, CommentPreproc, nil},
    29  			{`(&наклиенте|&atclient|&насервере|&atserver|&насерверебезконтекста|&atservernocontext|&наклиентенасерверебезконтекста|&atclientatservernocontext).*`, CommentPreproc, nil},
    30  			{`(>=|<=|<>|\+|-|=|>|<|\*|/|%)`, Operator, nil},
    31  			{`(;|,|\)|\(|\.)`, Punctuation, nil},
    32  			{Words(``, `\b`, `истина`, `true`, `ложь`, `false`, `и`, `and`, `или`, `or`, `не`, `not`), Operator, nil},
    33  			{Words(``, `\b`, `если`, `if`, `тогда`, `then`, `иначе`, `else`, `иначеесли`, `elsif`, `конецесли`, `endif`), Operator, nil},
    34  			{Words(``, `\b`, `для`, `for`, `каждого`, `each`, `из`, `in`, `цикл`, `do`, `пока`, `while`, `конеццикла`, `enddo`, `по`, `to`), Operator, nil},
    35  			{Words(``, `\b`, `прервать`, `break`, `продолжить`, `continue`, `возврат`, `return`, `перейти`, `goto`), Operator, nil},
    36  			{Words(``, `\b`, `процедура`, `procedure`, `конецпроцедуры`, `endprocedure`, `функция`, `function`, `конецфункции`, `endfunction`), Keyword, nil},
    37  			{Words(``, `\b`, `новый`, `new`, `знач`, `val`, `экспорт`, `export`, `перем`, `var`), Keyword, nil},
    38  			{Words(``, `\b`, `попытка`, `try`, `исключение`, `except`, `вызватьисключение`, `raise`, `конецпопытки`, `endtry`), Keyword, nil},
    39  			{Words(``, `\b`, `выполнить`, `execute`, `вычислить`, `eval`), Keyword, nil},
    40  			{`"`, LiteralString, Push("string")},
    41  			{`[_а-яА-Я0-9][а-яА-Я0-9]*`, Name, nil},
    42  			{`[_\w][\w]*`, Name, nil},
    43  		},
    44  		"string": {
    45  			{`""`, LiteralString, nil},
    46  			{`"C?`, LiteralString, Pop(1)},
    47  			{`[^"]+`, LiteralString, nil},
    48  		},
    49  	}
    50  }
    51  

View as plain text