Skip to content

Commit 972647d

Browse files
committed
Basic angularjs support
1 parent af3d665 commit 972647d

7 files changed

Lines changed: 130 additions & 8 deletions

File tree

autoload/syntax/angularjs.vim

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
" Vim syntax file
2+
" Language: AngularJS
3+
" Maintainer: othree <othree@gmail.com>
4+
" Last Change: 2013/02/22
5+
" Version: 1.1.13
6+
" URL: http://angularjs.org/
7+
8+
if &filetype == 'javascript'
9+
10+
syntax keyword javascriptAngular angular containedin=ALLBUT,javascriptComment
11+
syntax match javascriptAngulardot containedin=ALLBUT,javascriptComment /\(\<angular\.\)\@<=\h\w*/ contains=@javascriptAngularMethods
12+
syntax keyword javascriptAngularMethods contained bind bootstrap copy element equals
13+
syntax keyword javascriptAngularMethods contained extend forEach fromJson identity injector
14+
syntax keyword javascriptAngularMethods contained isArray isDate isDefined isElement isFunction
15+
syntax keyword javascriptAngularMethods contained isNumber isObject isString isUndefined lowercase
16+
syntax keyword javascriptAngularMethods contained mock module noop toJson uppercase version
17+
18+
syntax cluster javascriptAFunctions contains=javascriptAMFunctions
19+
syntax cluster javascriptAAttrs contains=javascriptAMAttrs
20+
21+
syntax keyword javascriptAServices containedin=ALLBUT,javascriptComment $anchorScroll $cacheFactory $compile $controller $document
22+
syntax keyword javascriptAServices containedin=ALLBUT,javascriptComment $exceptionHandler $filter $http $httpBackend $interpolate
23+
syntax keyword javascriptAServices containedin=ALLBUT,javascriptComment $locale $location $log $parse $q $rootElement $rootScope
24+
syntax keyword javascriptAServices containedin=ALLBUT,javascriptComment $scope $route $routeParams $templateCache $timeout $window
25+
syntax keyword javascriptAServices containedin=ALLBUT,javascriptComment $cookies $cookieStore $resource $sanitize
26+
27+
28+
syntax keyword javascriptAMFunctions contained config constant controller directive factory
29+
syntax keyword javascriptAMFunctions contained filter provider run service value
30+
syntax keyword javascriptAMAttrs contained name requires
31+
32+
endif
33+
34+
if &filetype == 'coffee'
35+
36+
syntax keyword coffeeAngular angular containedin=ALLBUT,coffeeComment
37+
syntax match coffeeAngulardot containedin=ALLBUT,coffeeComment /\(\<angular\.\)\@<=\h\w*/ contains=@coffeeAngularMethods
38+
syntax keyword coffeeAngularMethods contained bind bootstrap copy element equals
39+
syntax keyword coffeeAngularMethods contained extend forEach fromJson identity injector
40+
syntax keyword coffeeAngularMethods contained isArray isDate isDefined isElement isFunction
41+
syntax keyword coffeeAngularMethods contained isNumber isObject isString isUndefined lowercase
42+
syntax keyword coffeeAngularMethods contained mock module noop toJson uppercase version
43+
44+
syntax cluster coffeeAFunctions contains=coffeeAMFunctions
45+
syntax cluster coffeeAAttrs contains=coffeeAMAttrs
46+
47+
syntax keyword coffeeAServices containedin=ALLBUT,coffeeComment $anchorScroll $cacheFactory $compile $controller $document
48+
syntax keyword coffeeAServices containedin=ALLBUT,coffeeComment $exceptionHandler $filter $http $httpBackend $interpolate
49+
syntax keyword coffeeAServices containedin=ALLBUT,coffeeComment $locale $location $log $parse $q $rootElement $rootScope
50+
syntax keyword coffeeAServices containedin=ALLBUT,coffeeComment $scope $route $routeParams $templateCache $timeout $window
51+
syntax keyword coffeeAServices containedin=ALLBUT,coffeeComment $cookies $cookieStore $resource $sanitize
52+
53+
54+
syntax keyword coffeeAMFunctions contained config constant controller directive factory
55+
syntax keyword coffeeAMFunctions contained filter provider run service value
56+
syntax keyword coffeeAMAttrs contained name requires
57+
58+
endif
59+
60+
if &filetype == 'ls'
61+
62+
syntax keyword lsAngular angular containedin=ALLBUT,lsComment
63+
syntax match lsAngulardot containedin=ALLBUT,lsComment /\(\<angular\.\)\@<=\h\w*/ contains=@lsAngularMethods
64+
syntax keyword lsAngularMethods contained bind bootstrap copy element equals
65+
syntax keyword lsAngularMethods contained extend forEach fromJson identity injector
66+
syntax keyword lsAngularMethods contained isArray isDate isDefined isElement isFunction
67+
syntax keyword lsAngularMethods contained isNumber isObject isString isUndefined lowercase
68+
syntax keyword lsAngularMethods contained mock module noop toJson uppercase version
69+
70+
syntax cluster lsAFunctions contains=lsAMFunctions
71+
syntax cluster lsAAttrs contains=lsAMAttrs
72+
73+
syntax keyword lsAServices containedin=ALLBUT,lsComment $anchorScroll $cacheFactory $compile $controller $document
74+
syntax keyword lsAServices containedin=ALLBUT,lsComment $exceptionHandler $filter $http $httpBackend $interpolate
75+
syntax keyword lsAServices containedin=ALLBUT,lsComment $locale $location $log $parse $q $rootElement $rootScope
76+
syntax keyword lsAServices containedin=ALLBUT,lsComment $scope $route $routeParams $templateCache $timeout $window
77+
syntax keyword lsAServices containedin=ALLBUT,lsComment $cookies $cookieStore $resource $sanitize
78+
79+
80+
syntax keyword lsAMFunctions contained config constant controller directive factory
81+
syntax keyword lsAMFunctions contained filter provider run service value
82+
syntax keyword lsAMAttrs contained name requires
83+
84+
endif
85+
86+
" Define the default highlighting.
87+
" For version 5.7 and earlier: only when not done already
88+
" For version 5.8 and later: only when an item doesn't have highlighting yet
89+
if version >= 508 || !exists("did_lisp_syntax_inits")
90+
if version < 508
91+
let did_lisp_syntax_inits = 1
92+
command -nargs=+ HiLink hi link <args>
93+
else
94+
command -nargs=+ HiLink hi def link <args>
95+
endif
96+
97+
HiLink javascriptAngular Constant
98+
HiLink javascriptAServices Constant
99+
100+
HiLink javascriptAngularMethods PreProc
101+
HiLink javascriptAMFunctions PreProc
102+
HiLink javascriptAMAttrs PreProc
103+
104+
HiLink coffeeAngular Constant
105+
HiLink coffeeAServices Constant
106+
107+
HiLink coffeeAngularMethods PreProc
108+
HiLink coffeeAMFunctions PreProc
109+
HiLink coffeeAMAttrs PreProc
110+
111+
HiLink lsAngular Constant
112+
HiLink lsAServices Constant
113+
114+
HiLink lsAngularMethods PreProc
115+
HiLink lsAMFunctions PreProc
116+
HiLink lsAMAttrs PreProc
117+
118+
delcommand HiLink
119+
endif
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
"
88

99
if &filetype == 'javascript'
10-
syntax cluster javascriptLibraryFuncs contains=@javascriptQFunctions,@javascript_Functions,@javascriptBFunctions,@javascriptpFunctions
11-
syntax cluster javascriptLibraryAttrs contains=@javascriptQAttrs,@javascript_Attrs,@javascriptBAttrs,@javascriptpAttrs
12-
syntax match javascriptLMethods /[0-9A-Za-z_$)]\@<=\.\h\w*(\@=/ containedin=ALLBUT,javascriptComment contains=@javascriptLibraryFuncs
13-
syntax match javascriptLAttrs /[0-9A-Za-z_$)]\@<=\.\h\w*/ containedin=ALLBUT,javascriptComment contains=@javascriptLibraryAttrs
10+
syntax cluster javascriptLibraryFuncs contains=@javascriptQFunctions,@javascript_Functions,@javascriptBFunctions,@javascriptpFunctions,@javascriptAFunctions
11+
syntax cluster javascriptLibraryAttrs contains=@javascriptQAttrs,@javascript_Attrs,@javascriptBAttrs,@javascriptpAttrs,@javascriptAAttrs
12+
syntax match javascriptLMethods /[0-9A-Za-z_$)]\@<=\.\h\w*(\@=/ containedin=ALLBUT,javascriptComment contains=@javascriptLibraryFuncs transparent
13+
syntax match javascriptLAttrs /[0-9A-Za-z_$)]\@<=\.\h\w*/ containedin=ALLBUT,javascriptComment contains=@javascriptLibraryAttrs transparent
1414
endif
1515

1616
if &filetype == 'coffee'

plugin/jslsyntax.vim

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function! LoadLibs(path)
1515
endif
1616
let b:javascript_libraries_syntax = 1
1717

18-
let libs = ['jquery', 'underscore', 'backbone', 'prelude']
18+
let libs = ['jquery', 'underscore', 'backbone', 'prelude', 'angularjs']
1919
if !exists('g:used_javascript_libs')
2020
let g:used_javascript_libs = join(libs, ',')
2121
endif
@@ -25,13 +25,16 @@ function! LoadLibs(path)
2525
while index < len(libs)
2626
let lib = libs[index]
2727
if g:used_javascript_libs =~ lib
28-
exe('source '.a:path.'/syntax/'.lib.'.vim')
29-
let loaded = loaded + 1
28+
let fn = a:path.'/../autoload/syntax/'.lib.'.vim'
29+
if filereadable(fn)
30+
exe('source '.fn)
31+
let loaded = loaded + 1
32+
endif
3033
endif
3134
let index = index + 1
3235
endwhile
3336
if loaded > 0
34-
exe('source '.a:path.'/syntax/postprocess.vim')
37+
exe('source '.a:path.'/../autoload/syntax/postprocess.vim')
3538
endif
3639
endfunction
3740

0 commit comments

Comments
 (0)