File: skill.jsf

package info (click to toggle)
joe 4.6-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,308 kB
  • sloc: ansic: 51,623; sh: 4,358; makefile: 149; csh: 26
file content (107 lines) | stat: -rw-r--r-- 1,842 bytes parent folder | download | duplicates (3)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# JOE syntax highlight file for SKILL
# Based on the very rudimentary lisp syntax file
# Written by Joachim Fenkes <skill dot jsf at dojoe dot net> in 2005

=Idle
=Ident
=Comment
=Constant
=String 	+Constant
=StringEscape	+Escape +String
=Brace
=Symbol		+Atom +Constant +DefinedIdent
=Keyword
=Conditional	+Statement +Keyword
=Loop		+Statement +Keyword
=Number		+Constant
=Bad

:idle Idle
	*		idle
	";"		comment		recolor=-1
	"\""		string		recolor=-1
	"/"		slash
	"()[]{}"	bracket		recolor=-1
	"'"		maybe_symbol	recolor=-1
	"a-zA-Z_"	maybe_keyword	buffer recolor=-1
	"0-9"		number		recolor=-1

:maybe_keyword Ident
	*		idle		noeat	strings
	"list"		keyword
	"procedure"	keyword
	"while"		loop
	"foreach"	loop
	"if"		cond
	"for"		loop
	"when"		cond
	"unless"	cond
	"cond"		cond
	"defun"		keyword
	"let"		keyword
	"prog"		keyword
	"else"		cond
	"then"		cond
	"case"		cond
	"caseq"		cond
	"nil"		const
	"t"		keyword
done
	"0-9a-zA-Z_"	maybe_keyword

:number Number
	*		idle		noeat
	"0-9."		number
	
:slash Idle
	*		idle
	"/"		slash
	"*"		mcomment	recolor=-2

:comment Comment comment
	*		comment
	"BFHNTX"	comment		noeat call=comment_todo.comment_todo()
	"\n"		idle

:mcomment Comment comment
	*		mcomment
	"BFHNTX"	mcomment	noeat call=comment_todo.comment_todo()
	"*"		maybe_end_mcomment
	
:maybe_end_mcomment Comment comment
	*		mcomment	noeat
	"*"		maybe_end_mcomment
	"/"		idle

:string String string
	*		string
	"\""		idle
	"\\"		string_escape	recolor=-1

:string_escape StringEscape string
	*		string
	"\n"		string		recolor=-2

:bracket Brace
	*		idle		noeat

:maybe_symbol Idle
	*		symbol		recolor=-2
	"(){}"		bracket		recolor=-2

:symbol Symbol
	*		symbol
	" \t\n"		idle		recolor=-1
	")"		bracket		recolor=-1

:keyword Keyword
	*		idle		noeat

:cond Conditional
	*		idle		noeat

:loop Loop
	*		idle		noeat

:const Constant
	*		idle		noeat