guns/vim-clojure-static

add indentation and coloring for specify

cark opened this issue · 3 comments

cark commented

Specify is a macro available in clojurescript.
It works just like extend-protocol for coloring and indentation.

Here is an example

(specify (MyRecord. "John" )
    IHello
    (hello [self]
       (js/console.log (str "Hello " (:name self) "!"))))

Edit : hum sorry this was intended for clojure-mode.... Embarassing...

guns commented

It seems with the addition of CLJS support in fireplace it might be time to add a ClojureScript FileType (as mentioned in #20).

This might take a little while, so in the meantime you can:

augroup clojurescript
    autocmd!
    autocmd Filetype clojure
        \ syntax keyword clojureMacro specify |
        \ setlocal lispwords+=specify |
        \ let g:clojure_special_indent_words .= ',specify'
augroup END

I will update this issue with progress. Thanks for reporting!

guns commented

Edit : hum sorry this was intended for clojure-mode.... Embarassing...

lol

It's okay, the point still stands. :)

guns commented

Enhanced CLJS support is still on the table, but closing this issue for housekeeping. Thanks!