JuliaEditorSupport / julia-vim

Vim support for Julia.
http://julialang.org/
Other
755 stars 94 forks source link

Error messages when starting vim #163

Closed jordenhe closed 4 years ago

jordenhe commented 5 years ago

Im using VIM 7.4 After I install the Plugin, the vim returns a error page whenever it starts:

Error detected while processing function LaTeXtoUnicode#Refresh[2]..24_L2U_Setup[2]..24_L2U_SetupGlobal[10]..julia_latex_symbols#get_dict: line 1: E15: Invalid expression: E15: Invalid expression: { Error detected while processing function LaTeXtoUnicode#Refresh[2]..24_L2U_Setup[2]..24_L2U_SetupGlobal[12]..24_L2U_deprecated_options: line 1: E697: Missing end of List ']': E15: Invalid expression: [["latex_to_unicode_tab", "julia_latex_to_unicode"], line 2: E10: \ should be followed by /, ? or & line 3: E10: \ should be followed by /, ? or & line 4: E10: \ should be followed by /, ? or & Error detected while processing function LaTeXtoUnicode#Refresh[2]..24_L2U_Setup[2]..24_L2U_SetupGlobal: line 21: E15: Invalid expression: E15: Invalid expression: exists("g:loaded_youcompleteme") || line 22: E10: \ should be followed by /, ? or & line 23: E10: \ should be followed by /, ? or & line 24: E10: \ should be followed by /, ? or & Press ENTER or type command to continue

carlobaldassi commented 5 years ago

I can't reproduce this error, even with vim 7.4. You might be running vim in compatible mode. Try running with vim -N. If it works, set nocompatible in your vimrc.

alkorang commented 5 years ago

I'm getting a similar error when I start vim. I intalled julia-vim by vim-plug for vim 7.4 on CentOS 7. Even if I use vim -N or set nocompatible, I get this error when I open any *.jl file:

Error detected while processing function LaTeXtoUnicode#Refresh..LaTeXtoUnicode#
Enable..LaTeXtoUnicode#Init..<SNR>32_L2U_SetTab:
line    3:
E121: Undefined variable: v:t_list
E15: Invalid expression: type(b:l2u_cmdtab_keys) != v:t_list
Press ENTER or type command to continue

And then I first try edit mode, another error occurs:

Error detected while processing function LaTeXtoUnicode#Init..<SNR>32_L2U_SetTab
:
line    3:
E121: Undefined variable: v:t_list
Press ENTER or type command to continue
Error detected while processing function LaTeXtoUnicode#Init..<SNR>32_L2U_SetTab
:
line    3:
E15: Invalid expression: type(b:l2u_cmdtab_keys) != v:t_list
Press ENTER or type command to continue

Here is my ~/.vimrc file content which cause those errors:

set nocompatible
call plug#begin('~/.vim/plugged')
Plug 'JuliaEditorSupport/julia-vim'
call plug#end()

After I manually checkout to ef55a52 in ~/.vimrc, it works fine.

set nocompatible
call plug#begin('~/.vim/plugged')
Plug 'JuliaEditorSupport/julia-vim', { 'commit' : 'ef55a52' }
call plug#end()
carlobaldassi commented 5 years ago

@alkorang I believe that is unrelated issue, due to an old version of Vim. I have just pushed a fix that hopefully fixes it.

alkorang commented 5 years ago

I have just pushed a fix that hopefully fixes it.

@carlobaldassi Yes, it works! Thank you.

machakann commented 5 years ago

@jordenhe Could you check if 'C' is included in the output of :echo &cpo? It seems the error message tells that the leading \ is not recognized as line-continuation.

I can't test it now but I think it might be reproducible with :set cpo+=C. If this is true, putting

let s:save_cpo = &cpo
set cpo&vim

at the top of autoload/julia_latex_symbols.vim and putting

let &cpo = s:save_cpo
unlet s:save_cpo

at the end may help, though I don't recommend adding 'C' flag into cpo option at all time.

timbitz commented 5 years ago

Hey, I think I updated julia-vim and now am getting some weird errors when I start up vim on a .jl file, any ideas? I installed manually, and am using vim 7.4 on OSX 10.11.6.

Error detected while processing /Users/timsw/.vim/syntax/julia.vim:
line  161:
E59: invalid character after \@
E475: Invalid argument: juliaKeyword^I^Idisplay "\%(\.\)\@1<!\<\%(return\|local\|global\|import\%(all\)\?\|export\|using\|const\|wher
e\)\>"
line  163:
E59: invalid character after \@
E475: Invalid argument: juliaRepKeyword^I^Idisplay "\%(\.\)\@1<!\<\%(break\|continue\)\>"
line  164:

... these continue on like this.

carlobaldassi commented 5 years ago

@timbitz should be fixed now after 84104d0d55db347be045927e71cf9b0a88e72c2f

timbitz commented 5 years ago

Awesome, yah it works now! Thanks!

clvtor commented 5 years ago

on win10, vim8.0 i get:

Messages maintainer: Bram Moolenaar <Bram@vim.org>
Error detected while processing function LaTeXtoUnicode#Refresh[2]..<SNR>47_L2U_Setup[2]..<SNR>47_L2U_SetupGlobal[10]..julia_latex_symbols#get_dict:
line    1:
E722: Missing comma in Dictionary: \verts': ''',...
E15: Invalid expression: { '\exclamdown': '!', '\sterling': 'L',...
carlobaldassi commented 5 years ago

@clvtor since you're getting an error in the middle of the file, this looks peculiar. That error seems to relate do the previous line of "julia_latex_symbols.vim" (line 106, the one about "rasp"). Did you perhaps change that line by accident? If not, what happens if you delete it?

clvtor commented 5 years ago

@carlobaldassi I didn't change any line nor file from julia-vim plugin. When I delete line 106: \ '\rasp': 'ʼ', then error appears on same line number 107, E722: Missing comma in Dictionary: \verti': '?',, and when deleting previous line 106: \ '\verts': 'ˈ', error jumps to line 288: E722: Missing comma in Dictionary: \pprime': '”'. And when deleting previous line 287: \ '\prime': '′', the error disappears, and vim launches plugin regularly. On another Win10 PC installation, I have the same error symptoms. On both systems, the installation is via pathogen. On Debian 9.6 I have NO errors, also via pathogen.

carlobaldassi commented 5 years ago

@clvtor it seems to me that your vim is recognizing those characters as quotes, probably doing some kind of normalization. I don't have windows and cannot test. Also I couldn't find anything about it with a quick google search. For example, a command like :echo ˈaˈ or :echo ′a′ shouldn't work (and doesn't in my case), since it's using "verts" or "prime" instead of quotes. Do these work for you? If so, is there anything in your setup that might be doing this?

clvtor commented 5 years ago

@carlobaldassi , yes, you are right. It was a problem with character encodings, on windows vim character encoding, by default it is not set on utf-8, and it should be set on _vimrc as: set encoding=utf-8 for problem to disappear, and plugin loads without errors.

bjce commented 5 years ago

Dear @carlobaldassi. First of all thank you for writing the package! So what I did to try to install the package is that I created a vimrc file and edited with vim with the following command vim ~/.vimrc. and added a line Plugin 'JuliaEditorSupport/julia-vim'.

Here is the conten of the vimrc file

" Set the line number
set number

" set syntax (e.g. color highlighting in code)
syntax on

Plugin 'JuliaEditorSupport/julia-vim'

When starting vim, I get the following error messages:

Warning: Failed to set locale category LC_NUMERIC to en_CH.
Warning: Failed to set locale category LC_TIME to en_CH.
Warning: Failed to set locale category LC_COLLATE to en_CH.
Warning: Failed to set locale category LC_MONETARY to en_CH.
Warning: Failed to set locale category LC_MESSAGES to en_CH.
Error detected while processing /Users/mymac/.vimrc:
line    7:
E492: Not an editor command: Plugin 'JuliaEditorSupport/julia-vim'
Error detected while processing function vundle#config#bundle[2]..<SNR>20_check_bundle_name:
line    1:
E121: Undefined variable: s:bundle_names
E116: Invalid arguments for function has_key(s:bundle_names, a:bundle.name)
line   11:
E121: Undefined variable: s:bundle_names
Press ENTER or type command to continue

What shall I do to make your package work properly on vim?

Many thanks in advance for your help

carlobaldassi commented 5 years ago

@bjce you should put the Plugin line in between the vundle begin/end calls. The begin calls should look something like this:

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

and the end calls like this:

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required

See https://github.com/VundleVim/Vundle.vim.

bjce commented 5 years ago

Many thanks @carlobaldassi!!! after updating the vimrc file, there are no error message anymore!

carlobaldassi commented 4 years ago

I'm assuming all the issues brought up in this thread have been fixed, I'm closing the issue.