Mercurial > vim
annotate runtime/syntax/jess.vim @ 32570:5d8cff99a027 v9.0.1617
patch 9.0.1617: charidx() result is not consistent with byteidx()
Commit: https://github.com/vim/vim/commit/577922b917e48285a7a312daf7b5bbc6e272939c
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Thu Jun 8 17:09:45 2023 +0100
patch 9.0.1617: charidx() result is not consistent with byteidx()
Problem: charidx() and utf16idx() result is not consistent with byteidx().
Solution: When the index is equal to the length of the text return the
lenght of the text instead of -1. (Yegappan Lakshmanan,
closes #12503)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 08 Jun 2023 18:15:04 +0200 |
parents | 46763b01cd9a |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: Jess | |
3 " Maintainer: Paul Baleme <pbaleme@mail.com> | |
4 " Last change: September 14, 2000 | |
5 " Based on lisp.vim by : Dr. Charles E. Campbell, Jr. | |
6 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
7 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
8 if exists("b:current_syntax") |
7 | 9 finish |
10 endif | |
11 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
12 setlocal iskeyword=42,43,45,47-58,60-62,64-90,97-122,_ |
7 | 13 |
14 " Lists | |
15 syn match jessSymbol ![^()'`,"; \t]\+! contained | |
16 syn match jessBarSymbol !|..\{-}|! contained | |
17 syn region jessList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=jessAtom,jessBQList,jessConcat,jessDeclaration,jessList,jessNumber,jessSymbol,jessSpecial,jessFunc,jessKey,jessAtomMark,jessString,jessComment,jessBarSymbol,jessAtomBarSymbol,jessVar | |
18 syn region jessBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=jessAtom,jessBQList,jessConcat,jessDeclaration,jessList,jessNumber,jessSpecial,jessSymbol,jessFunc,jessKey,jessVar,jessAtomMark,jessString,jessComment,jessBarSymbol,jessAtomBarSymbol | |
19 | |
20 " Atoms | |
21 syn match jessAtomMark "'" | |
22 syn match jessAtom "'("me=e-1 contains=jessAtomMark nextgroup=jessAtomList | |
23 syn match jessAtom "'[^ \t()]\+" contains=jessAtomMark | |
24 syn match jessAtomBarSymbol !'|..\{-}|! contains=jessAtomMark | |
25 syn region jessAtom start=+'"+ skip=+\\"+ end=+"+ | |
26 syn region jessAtomList matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contained contains=jessAtomList,jessAtomNmbr0,jessString,jessComment,jessAtomBarSymbol | |
27 syn match jessAtomNmbr "\<[0-9]\+" contained | |
28 | |
29 " Standard jess Functions and Macros | |
30 syn keyword jessFunc * + ** - / < > <= >= <> = | |
31 syn keyword jessFunc long longp | |
32 syn keyword jessFunc abs agenda and | |
33 syn keyword jessFunc assert assert-string bag | |
34 syn keyword jessFunc batch bind bit-and | |
35 syn keyword jessFunc bit-not bit-or bload | |
36 syn keyword jessFunc bsave build call | |
37 syn keyword jessFunc clear clear-storage close | |
38 syn keyword jessFunc complement$ context count-query-results | |
39 syn keyword jessFunc create$ | |
40 syn keyword jessFunc delete$ div | |
41 syn keyword jessFunc do-backward-chaining e | |
42 syn keyword jessFunc engine eq eq* | |
43 syn keyword jessFunc eval evenp exit | |
44 syn keyword jessFunc exp explode$ external-addressp | |
45 syn keyword jessFunc fact-slot-value facts fetch | |
46 syn keyword jessFunc first$ float floatp | |
47 syn keyword jessFunc foreach format gensym* | |
48 syn keyword jessFunc get get-fact-duplication | |
49 syn keyword jessFunc get-member get-multithreaded-io | |
50 syn keyword jessFunc get-reset-globals get-salience-evaluation | |
51 syn keyword jessFunc halt if implode$ | |
52 syn keyword jessFunc import insert$ integer | |
53 syn keyword jessFunc integerp intersection$ jess-version-number | |
54 syn keyword jessFunc jess-version-string length$ | |
55 syn keyword jessFunc lexemep list-function$ load-facts | |
56 syn keyword jessFunc load-function load-package log | |
57 syn keyword jessFunc log10 lowcase matches | |
58 syn keyword jessFunc max member$ min | |
59 syn keyword jessFunc mod modify multifieldp | |
60 syn keyword jessFunc neq new not | |
61 syn keyword jessFunc nth$ numberp oddp | |
62 syn keyword jessFunc open or pi | |
63 syn keyword jessFunc ppdeffunction ppdefglobal ddpefrule | |
64 syn keyword jessFunc printout random read | |
65 syn keyword jessFunc readline replace$ reset | |
66 syn keyword jessFunc rest$ retract retract-string | |
67 syn keyword jessFunc return round rules | |
68 syn keyword jessFunc run run-query run-until-halt | |
69 syn keyword jessFunc save-facts set set-fact-duplication | |
70 syn keyword jessFunc set-factory set-member set-multithreaded-io | |
71 syn keyword jessFunc set-node-index-hash set-reset-globals | |
72 syn keyword jessFunc set-salience-evaluation set-strategy | |
73 syn keyword jessFunc setgen show-deffacts show-deftemplates | |
74 syn keyword jessFunc show-jess-listeners socket | |
75 syn keyword jessFunc sqrt store str-cat | |
76 syn keyword jessFunc str-compare str-index str-length | |
77 syn keyword jessFunc stringp sub-string subseq$ | |
78 syn keyword jessFunc subsetp sym-cat symbolp | |
79 syn keyword jessFunc system throw time | |
80 syn keyword jessFunc try undefadvice undefinstance | |
81 syn keyword jessFunc undefrule union$ unwatch | |
82 syn keyword jessFunc upcase view watch | |
83 syn keyword jessFunc while | |
84 syn match jessFunc "\<c[ad]\+r\>" | |
85 | |
86 " jess Keywords (modifiers) | |
87 syn keyword jessKey defglobal deffunction defrule | |
88 syn keyword jessKey deffacts | |
89 syn keyword jessKey defadvice defclass definstance | |
90 | |
91 " Standard jess Variables | |
92 syn region jessVar start="?" end="[^a-zA-Z0-9]"me=e-1 | |
93 | |
94 " Strings | |
95 syn region jessString start=+"+ skip=+\\"+ end=+"+ | |
96 | |
97 " Shared with Declarations, Macros, Functions | |
98 "syn keyword jessDeclaration | |
99 | |
100 syn match jessNumber "[0-9]\+" | |
101 | |
102 syn match jessSpecial "\*[a-zA-Z_][a-zA-Z_0-9-]*\*" | |
103 syn match jessSpecial !#|[^()'`,"; \t]\+|#! | |
104 syn match jessSpecial !#x[0-9a-fA-F]\+! | |
105 syn match jessSpecial !#o[0-7]\+! | |
106 syn match jessSpecial !#b[01]\+! | |
107 syn match jessSpecial !#\\[ -\~]! | |
108 syn match jessSpecial !#[':][^()'`,"; \t]\+! | |
109 syn match jessSpecial !#([^()'`,"; \t]\+)! | |
110 | |
111 syn match jessConcat "\s\.\s" | |
112 syntax match jessParenError ")" | |
113 | |
114 " Comments | |
115 syn match jessComment ";.*$" | |
116 | |
117 " synchronization | |
118 syn sync lines=100 | |
119 | |
120 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
121 " Only when an item doesn't have highlighting yet |
7 | 122 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
123 hi def link jessAtomNmbr jessNumber |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
124 hi def link jessAtomMark jessMark |
7 | 125 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
126 hi def link jessAtom Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
127 hi def link jessAtomBarSymbol Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
128 hi def link jessBarSymbol Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
129 hi def link jessComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
130 hi def link jessConcat Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
131 hi def link jessDeclaration Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
132 hi def link jessFunc Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
133 hi def link jessKey Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
134 hi def link jessMark Delimiter |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
135 hi def link jessNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
136 hi def link jessParenError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
137 hi def link jessSpecial Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
138 hi def link jessString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
139 hi def link jessVar Identifier |
7 | 140 |
141 | |
142 let b:current_syntax = "jess" | |
143 | |
144 " vim: ts=18 |