mirror of
https://github.com/scopatz/nanorc
synced 2024-11-23 19:00:27 +01:00
117 lines
3.6 KiB
Plaintext
117 lines
3.6 KiB
Plaintext
|
|
## 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:]]+$"
|