annotate nanorc.d/php.nanorc @ 101:845e08259ab0

Syntax highlighting strings in PHP/HTML is complicated! Still has problems with colouring mixed HTML strings and object functions but this seems unavoidable with the regexes we have without losing colouring elsewhere
author IBBoard <dev@ibboard.co.uk>
date Mon, 02 Apr 2018 20:17:48 +0100
parents c432b0708d6d
children 7f49998de821
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
85
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
1 ## Here is an example for PHP.
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
2
92
5f2c5800fa8a Fix small differences with older Nano on the server
IBBoard <dev@ibboard.co.uk>
parents: 87
diff changeset
3 syntax "php" "\.(php[23457s~]?|html?)$"
85
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
4 magic "PHP script"
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
5 comment "//"
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
6
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
7 # Types.
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
8 color cyan "\<(array|bool|callable|const|float|global|int|object|string|var)\>"
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
9
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
10 # Directives and structure.
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
11 color cyan "\<(abstract|as|class|clone|(end)?declare|extends|function|implements|include(_once)?|inst(ance|ead)of|interface|namespace|new|private|protected|public|require(_once)?|static|trait|use|yield)\>"
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
12 color cyan "\<(case|catch|default|do|echo|else(if)?|end(for(each)?|if|switch|while)|final(ly)?|for(each)?|if|print|switch|throw|try|while)\>"
100
c432b0708d6d Fix PHP operators so they don't interfere with object notation
IBBoard <dev@ibboard.co.uk>
parents: 97
diff changeset
13 # Operators - note, we require proper spacing to prevent false positives
c432b0708d6d Fix PHP operators so they don't interfere with object notation
IBBoard <dev@ibboard.co.uk>
parents: 97
diff changeset
14 color red "(^|[[:space:]])(&&|\|\||>=?|<=?|===?|!==?)([[:space:]]|$)"
c432b0708d6d Fix PHP operators so they don't interfere with object notation
IBBoard <dev@ibboard.co.uk>
parents: 97
diff changeset
15 color red "!"
85
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
16
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
17 color magenta "\$this"
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
18
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
19 # Control flow.
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
20 color magenta "\<(break|continue|goto|return)\>"
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
21
86
3f3f641d5a8b Tidy up some tag oddities
IBBoard <dev@ibboard.co.uk>
parents: 85
diff changeset
22 # Numbers
3f3f641d5a8b Tidy up some tag oddities
IBBoard <dev@ibboard.co.uk>
parents: 85
diff changeset
23 color blue "\b[0-9]+\b"
3f3f641d5a8b Tidy up some tag oddities
IBBoard <dev@ibboard.co.uk>
parents: 85
diff changeset
24
101
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
25 # General HTML
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
26 color brightblue start="<[a-zA-Z/]" end=">"
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
27 color red "&[^;[[:space:]]]*;"
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
28 color green start="<!--" end="-->"
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
29 color white start="<!DOCTYPE" end=">"
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
30 # xhtml
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
31 color white start="<\?xml" end="\?>"
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
32
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
33 # Strings.
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
34 color yellow ""((\\")?(\.|[^"])*[^\\])?"" "'((\\')?(\.|[^'])*[^\\])?'"
845e08259ab0 Syntax highlighting strings in PHP/HTML is complicated!
IBBoard <dev@ibboard.co.uk>
parents: 100
diff changeset
35
85
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
36 # Comments.
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
37 color green "(^|[[:space:]]+)//.*"
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
38 color green start="/\*" end="\*/"
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
39
86
3f3f641d5a8b Tidy up some tag oddities
IBBoard <dev@ibboard.co.uk>
parents: 85
diff changeset
40 # PHP tags
3f3f641d5a8b Tidy up some tag oddities
IBBoard <dev@ibboard.co.uk>
parents: 85
diff changeset
41 color brightblue "<\?(php|=)|\?>"
85
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
42
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
43 # Trailing whitespace.
ef08bb127ede Ditch third-party nanorc configs and just add what we use
IBBoard <dev@ibboard.co.uk>
parents: 84
diff changeset
44 color ,green "[[:space:]]+$"