guns / vim-sexp

Precision Editing for S-expressions
MIT License
612 stars 33 forks source link

Interference when inserting parenthesis in Julia code #25

Open dm3 opened 6 years ago

dm3 commented 6 years ago

I'm writing Julia using the Julia-vim plugin. When I also have Vim-Sexp loaded, any parenthesis or bracket (([{) inserted in a Julia (*.jl) file is autoindented by one space - a space is inserted before the parenthesis right after it's typed. Commenting Vim-Sexp out makes the issue go away.

I understand the description is light on details and the problem might as well be in the Julia-Vim plugin rather than Vim-Sexp. However, I think this issue might be helpful to anyone who runs into the same problem. Maybe someone will actually be able to figure it out!

dm3 commented 6 years ago

Actually, setting

let g:sexp_filetypes = 'clojure'

helps with the issue. Thus, the default value of let g:sexp_filetypes = 'clojure,scheme,lisp,timl' must be somehow confusing Julia with one of the scheme/lisp/timl filetypes. Not sure how this is happening though...

brothert commented 5 years ago

Unfortunately Julia's extension .jl conflicts with librep Lisp's, so Vim sets filetype "lisp" which makes vim-sexp correctly add several insert mode mappings.

Overriding the wrong filetype for .jl with an autocommand in .vimrc or ~/.vim/ftdetect etc. does not seem work. let g:sexp_filetypes = 'clojure,scheme,timl' might be the best preliminary solution for now if you don't write Lisp code.