123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- ## FILENAME: arduino.nanorc
- ##
- ## DESCRIPTION: The arduino.nanorc syntax files allows syntax highlighting
- ## for Arduino sketch files in the GNU nano text editor.
- ##
- ## Maintainer: Nicholas Wilde
- ## Version: 0.1
- ## DATE: 06/23/2011
- ##
- ## HOMEPAGE: http://code.google.com/p/arduino-nano-editor-syntax/
- ##
- ## COMMENTS: -Most of the code was taken from the c.nanorc code found with
- ## GNU nano 2.2.6.
- ## -Direction was taken from the arduino vim syntax code by johannes
- ## <https://bitbucket.org/johannes/arduino-vim-syntax/>
- ## -Tested on Ubuntu Server 11.04 Natty Narwhal and GNU nano 2.2.6
- ##
- ## DIRECTIONS: For Ubuntu Server 11.04 Natty Narwhal:
- ## -Move this file <arduino.nanorc> to the nano directory
- ## /usr/share/nano/
- ## -Add arduino.nanorc reference to the nanorc settings file
- ## /etc/nanorc
- ## ...
- ## ## Arduino
- ## /usr/share/nano/arduino.nanorc
- ## ...
- syntax "ino" "\.?ino$"
- ##
- color brightred "\<[A-Z_][0-9A-Z_]+\>"
- ##
- color green "\<((s?size)|((u_?)?int(8|16|32|64|ptr)))_t\>"
- ## Constants
- icolor green "\<(HIGH|LOW|INPUT|OUTPUT)\>"
- ## Serial Print
- icolor red "\<(DEC|BIN|HEX|OCT|BYTE)\>"
- ## PI Constants
- icolor green "\<(PI|HALF_PI|TWO_PI)\>"
- ## ShiftOut
- icolor green "\<(LSBFIRST|MSBFIRST)\>"
- ## Attach Interrupt
- icolor green "\<(CHANGE|FALLING|RISING)\>"
- ## Analog Reference
- icolor green "\<(DEFAULT|EXTERNAL|INTERNAL|INTERNAL1V1|INTERNAL2V56)\>"
- ## === FUNCTIONS === ##
- ## Data Types
- color green "\<(boolean|byte|char|float|int|long|word)\>"
- ## Control Structions
- color brightyellow "\<(case|class|default|do|double|else|false|for|if|new|null|private|protected|public|short|signed|static|String|switch|this|throw|try|true|unsigned|void|while)\>"
- color magenta "\<(goto|continue|break|return)\>"
- ## Math
- color brightyellow "\<(abs|acos|asin|atan|atan2|ceil|constrain|cos|degrees|exp|floor|log|map|max|min|radians|random|randomSeed|round|sin|sq|sqrt|tan)\>"
- ## Bits & Bytes
- color brightyellow "\<(bitRead|bitWrite|bitSet|bitClear|bit|highByte|lowByte)\>"
- ## Analog I/O
- color brightyellow "\<(analogReference|analogRead|analogWrite)\>"
- ## External Interrupts
- color brightyellow "\<(attachInterrupt|detachInterrupt)\>"
- ## Time
- color brightyellow "\<(delay|delayMicroseconds|millis|micros)\>"
- ## Digital I/O
- color brightyellow "\<(pinMode|digitalWrite|digitalRead)\>"
- ## Interrupts
- color brightyellow "\<(interrupts|noInterrupts)\>"
- ## Advanced I/O
- color brightyellow "\<(noTone|pulseIn|shiftIn|shiftOut|tone)\>"
- ## Serial
- color magenta "\<(Serial|Serial1|Serial2|Serial3|begin|end|peek|read|print|println|available|flush)\>"
- ## Structure
- color brightyellow "\<(setup|loop)\>"
- ##
- color brightcyan "^[[:space:]]*#[[:space:]]*(define|include(_next)?|(un|ifn?)def|endif|el(if|se)|if|warning|error|pragma)"
- ##
- color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'"
- ## GCC builtins
- color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__"
- ## String highlighting. You will in general want your comments and
- ## strings to come last, because syntax highlighting rules will be
- ## applied in the order they are read in.
- color brightyellow "<[^= ]*>" ""(\\.|[^"])*""
- ## This string is VERY resource intensive!
- color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*""
- ## Comments
- color brightblue "//.*"
- color brightblue start="/\*" end="\*/"
- ## Trailing whitespace
- color ,green "[[:space:]]+$"
|