This is the first push to this repo with my dotfiles
[dotfilesold/.git] / .nano / elixir.nanorc
1 ## Here is an example for Elixir.
2 ##
3 syntax "Elixir" "\.ex$" "\.exs$"
4 header "^#!.*/(env +)?elixir( |$)"
5
6 ## reserved words
7 color yellow "\<(case|cond|true|if|false|nil|when|and|or|not|in|fn|do|end|catch|rescue|after|else|with)\>"
8 color yellow "def[a-z]*"
9
10 ## Constants
11 color brightblue "@[a-z]+"
12
13 ## Elixir atoms
14 color magenta ":[0-9a-z_]+"
15
16 ## Elixir Modules
17 color magenta "[A-Z][a-zA-Z0-9]*"
18
19 ## Elixir types
20 color red "[A-Z][A-Za-z]+\.t\(\)"
21
22 ## Some unique things we want to stand out
23 color brightyellow "\<(__CALLER__|__DIR__|__ENV__|__MODULE__|__STACKTRACE__)\>"
24 color brightyellow "\<(__add__|__aliases__|__build__|__block__|__deriving__|__info__|__protocol__|__struct__|__using__)\>"
25
26 ## sigils
27 color brightmagenta "~[a-z]\/([^\/])*\/[a-z]*" "~[a-z]\|([^\|])*\|[a-z]*" "~[a-z]\"([^\"])*\"[a-z]*" "~[a-z]\'([^\'])*\'[a-z]*" "~[a-z]\(([^\(\)])*\)[a-z]*" "~[a-z]\[([^\[\]])*\][a-z]*" "~[a-z]\{([^\{\}])*\}[a-z]*" "~[a-z]\<([^\<\>])*\>[a-z]*" 
28
29 ## Strings, double-quoted
30 color green ""([^"]|(\\"))*""
31
32 ## Expression substitution.  These go inside double-quoted strings,
33 ## "like #{this}".
34 color brightgreen "#\{[^}]*\}"
35
36 ## Strings, single-quoted
37 color green "'([^']|(\\'))*'"
38
39 ## Comments
40 color cyan "#.*$" "#$"
41 color brightcyan "##.*$" "##$"
42
43 ## "Here" docs
44 color green start="\"\"\"" end="\"\"\""
45
46 ## Some common markers
47 color brightcyan "(XXX|TODO|FIXME|\?\?\?)"
48
49 ## Trailing spaces
50 color ,green "[[:space:]]+$"