aboutsummaryrefslogtreecommitdiff
path: root/vim/syntax/arduino.vim
blob: fb52283e4ab00f29c3f4190e9ffcc1c11a1f33b7 (plain)
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
" Vim syntax file
" Language:    Arduino
" Maintainer:  Johannes Hoff <johannes@johanneshoff.com>
" Last Change: 06 June 2011
" License:     VIM license (:help license, replace vim by arduino.vim)

" Syntax highlighting like in the Arduino IDE
" Automatically generated by the script available at
"    https://bitbucket.org/johannes/arduino-vim-syntax
" Using keywords from <arduino>/build/shared/lib/keywords.txt
" From version: ARDUINO 0022 - 2010.12.24

" Thanks to Rik, Erik Nomitch, Adam Obeng and Graeme Cross for helpful feedback!

" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

" Read the C syntax to start with
if version < 600
  so <sfile>:p:h/cpp.vim
else
  runtime! syntax/cpp.vim
endif

syn keyword arduinoConstant  BIN BYTE CHANGE DEC DEFAULT EXTERNAL FALLING HALF_PI
syn keyword arduinoConstant  HEX HIGH INPUT INTERNAL INTERNAL1V1 INTERNAL2V56
syn keyword arduinoConstant  LOW LSBFIRST MSBFIRST OCT OUTPUT PI RISING TWO_PI

syn keyword arduinoFunc      analogRead analogReference analogWrite
syn keyword arduinoFunc      attachInterrupt bit bitClear bitRead bitSet
syn keyword arduinoFunc      bitWrite delay delayMicroseconds detachInterrupt
syn keyword arduinoFunc      digitalRead digitalWrite highByte interrupts
syn keyword arduinoFunc      lowByte micros millis noInterrupts noTone pinMode
syn keyword arduinoFunc      pulseIn shiftIn shiftOut tone

syn keyword arduinoMethod    available begin end flush loop peek print println
syn keyword arduinoMethod    read setup

syn keyword arduinoModule    Serial Serial1 Serial2 Serial3

syn keyword arduinoStdFunc   abs acos asin atan atan2 ceil constrain cos degrees
syn keyword arduinoStdFunc   exp floor log map max min radians random randomSeed
syn keyword arduinoStdFunc   round sin sq sqrt tan

syn keyword arduinoType      boolean byte null String word

hi def link arduinoType Type
hi def link arduinoConstant Constant
hi def link arduinoStdFunc Function
hi def link arduinoFunc Function
hi def link arduinoMethod Function
hi def link arduinoModule Identifier