summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2014-04-15 01:14:47 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2014-04-15 01:14:47 +0200
commit0b50acdddfb5a90f7b6c21b9c299452fe9b68534 (patch)
tree3b50dcd52dab4fddba05f7e95504a9ecede2bff9
parentdaa6fc695890085c23851ddb07f313adcd47a50a (diff)
downloadvim-polyglot-0b50acdddfb5a90f7b6c21b9c299452fe9b68534.tar.gz
vim-polyglot-0b50acdddfb5a90f7b6c21b9c299452fe9b68534.zip
Add Ember Script
-rwxr-xr-xbuild1
-rw-r--r--ftdetect/polyglot.vim2
-rw-r--r--ftplugin/ember-script.vim17
-rw-r--r--indent/ember-script.vim14
-rw-r--r--syntax/ember-script.vim31
-rw-r--r--test_spec.js5
6 files changed, 65 insertions, 5 deletions
diff --git a/build b/build
index 8287afe1..03d2a842 100755
--- a/build
+++ b/build
@@ -75,6 +75,7 @@ PACKS="
cucumber:tpope/vim-cucumber
dockerfile:honza/dockerfile.vim
elixir:elixir-lang/vim-elixir
+ emberscript:heartsentwined/vim-ember-script
erlang:oscarh/vimerl
git:tpope/vim-git
go:jnwhiteh/vim-golang
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
index b385d1d8..34e77b48 100644
--- a/ftdetect/polyglot.vim
+++ b/ftdetect/polyglot.vim
@@ -15,6 +15,8 @@ autocmd BufNewFile,BufReadPost *.feature,*.story set filetype=cucumber
au BufNewFile,BufRead Dockerfile set filetype=dockerfile
au BufRead,BufNewFile *.ex,*.exs set filetype=elixir
au FileType elixir setl sw=2 sts=2 et iskeyword+=!,?
+autocmd BufNewFile,BufRead *.em set filetype=ember-script
+autocmd FileType ember-script set tabstop=2|set shiftwidth=2|set expandtab
autocmd BufNewFile,BufRead *.git/{,modules/**/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit
autocmd BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules set ft=gitconfig
autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig
diff --git a/ftplugin/ember-script.vim b/ftplugin/ember-script.vim
new file mode 100644
index 00000000..b9aabc93
--- /dev/null
+++ b/ftplugin/ember-script.vim
@@ -0,0 +1,17 @@
+" Language: ember-script
+" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
+" URL: http://github.com/heartsentwined/vim-ember-script
+" Version: 1.0.1
+" Last Change: 2013 Apr 17
+" License: GPL-3.0
+
+setlocal tabstop=2
+setlocal softtabstop=2
+setlocal shiftwidth=2
+setlocal smarttab
+setlocal expandtab
+setlocal smartindent
+
+setlocal formatoptions-=t formatoptions+=croqlj
+setlocal comments=:#
+setlocal commentstring=#\ %s
diff --git a/indent/ember-script.vim b/indent/ember-script.vim
new file mode 100644
index 00000000..8bfa049c
--- /dev/null
+++ b/indent/ember-script.vim
@@ -0,0 +1,14 @@
+" Language: ember-script
+" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
+" URL: http://github.com/heartsentwined/vim-ember-script
+" Version: 1.0.1
+" Last Change: 2013 Apr 17
+" License: GPL-3.0
+
+if exists('b:did_indent')
+ finish
+endif
+
+runtime! indent/coffee.vim
+unlet! b:did_indent
+let b:did_indent = 1
diff --git a/syntax/ember-script.vim b/syntax/ember-script.vim
new file mode 100644
index 00000000..1ede9d8e
--- /dev/null
+++ b/syntax/ember-script.vim
@@ -0,0 +1,31 @@
+" Language: ember-script
+" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
+" URL: http://github.com/heartsentwined/vim-ember-script
+" Version: 1.0.1
+" Last Change: 2013 Apr 17
+" License: GPL-3.0
+
+if exists('b:current_syntax') && b:current_syntax == 'ember-script'
+ finish
+endif
+
+runtime! syntax/coffee.vim
+unlet b:current_syntax
+
+" mixin and with
+syn match emKeyword /\vmixin|with/ display
+hi def link emKeyword Keyword
+
+" annotations
+syn match emAnnotation /\v\+(computed|observer|volatile)/ display
+hi def link emAnnotation Define
+
+" ~> and *. operators
+syn match emOperator /\v\~\>|\*\./ display
+hi def link emOperator Operator
+
+" @each is special
+syn match emEach /\v\@each/ display
+hi def link emEach Special
+
+let b:current_syntax = 'ember-script'
diff --git a/test_spec.js b/test_spec.js
deleted file mode 100644
index b7ac4cf5..00000000
--- a/test_spec.js
+++ /dev/null
@@ -1,5 +0,0 @@
-describe("A suite", function() {
- it("contains spec with an expectation", function() {
- expect(true).toBe(true);
- });
-});