issue with setting up vim errorformat - vim

My compiler and lint tools put out errors in two different formats. I decided to incrementally setup my errorformat, first for lint and then add a pattern for a compiler.
Here is the lint output line I'm trying to match to
"C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c",126 Info 754: local structure member 'myStructMember' (line 126, file C:\Documents and Settings\user\Projects\MyProject\trunk\src\myfile.c) not referenced
My first attempt was
set errorformat=\"%f\"\\,%l\ \ %t%s
And it worked.
Then I tried to set it up as follows
set errorformat=\"%f\"\\,%l\ \ %t\ %s
And it stopped working.
Does anybody know what is the issue?
I did read through the documentation but it didn't help.
Any help is appreciated.

" Match the filename and line number
let &errorformat = '"%f"\,%l'
" Match white space, first character of error type, the rest of the characters
" of the error type, and white space again.
let &errorformat .= '%*\s%t%*\w%*\s'
"Match error number, whitespace and error message.
let &errorformat .= '%n:%*\s%m'

Related

yaml syntax error for ansible base64 multi line variable

Ansible Version: 2.1.2.0
So I have a yaml file with a multi line variable that's from a binary file converted to base 64.
My variable file: self-cert.yml
selfcert: |
MIIKCAIBAzCCCcIGCSqGSIb3DQEHAaCCCbMEggmvMIIJqzCCBWgGCSqGSIb3DQEHAaCCBVkEggVV
MIIFUTCCBU0GCyqGSIb3DQEMCgECoIIE+jCCBPYwKAYKKoZIhvcNAQwBAzAaBBQFa98IY7UgblDK
qGwMjTIQCK+3DwICBAAEggTIvA/VFm3j3oSN6cknp5qFyUxXAI5TxURnyx8UVRm8UfMcA0LHlh+z
06ztcwApIrxMSV26ezu0p1FrHInpbABNuO0rlk4XlQwTkLynUyg58iBwK7IyV5SqT2UC8djaOiMN
b9ViC3yn7SrRdS3MmCQznu6dScRIHbhG46yZNJrzrJh038X2KAPpS/LfC9DJBjaEzkZY8BwyARYe
When I try to run my playbook that includes this variable, I get:
ERROR! Syntax Error while loading YAML.
The error appears to have been in '/home/ansible/projects/install-cert/self-cert.yml': line 3, column 1, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
MIIKCAIBAzCCCcIGCSqGSIb3DQEHAaCCCbMEggmvMIIJqzCCBWgGCSqGSIb3DQEHAaCCBVkEggVV
MIIFUTCCBU0GCyqGSIb3DQEMCgECoIIE+jCCBPYwKAYKKoZIhvcNAQwBAzAaBBQFa98IY7UgblDK
^ here
Any idea whats wrong? I've tried changing | to > , didn't work, and i've also tried indenting the whole base64 output too.
So it turns out you do need to make an indentation to the the multiline variable. My original indentation was an actual tab instead of spaces (Stupid Sublime) and so the indentation failed the syntax check, but using actual spaces made everything work.

Vim quickfix/Latex-Suite go to error not working with Lualatex error output

I am using vim and Latex Suite for editing and compiling LaTeX documents.
Quickfix is not able to resolve the error location when compiling with Lualatex (it works fine with the default compile rule).
One error output line in the quickfix window looks like this:
|11 error| Undefined control sequence. askdlfj\jsepackage {icomma}
There is no file specified so it is no surprise that vim can not go to the error. I am using the following compile rule in .vimrc:
let g:Tex_CompileRule_pdf = 'lualatex -synctex=1 -src-specials -interaction=nonstopmode $*'
I've been trying to solve this for hours so any ideas are welcome.
I found a solution myself. "man luatex" (not lualatex) says:
--file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.
So the correct compiler rule shoudl be
let g:Tex_CompileRule_pdf = 'lualatex -synctex=1 -file-line-error -interaction=nonstopmode $*'

"Unclosed expression sequence" error in VimScript

I have the following in order to set my statusline:
set stl=%<\ [Buf:\ %n]%m\ %f\ [
set stl+=%{empty(&filetype) ? \"" : \"," . toupper(&filetype) . \", \"}
set stl+=%{(&fenc!=''?&fenc:&enc)}]
set stl+=%=[0x\%02.2B]\ [Line:\ %04l/%04L\ \|\ Col:\ %c%V]\ (%P)
I personally don't see anything wrong with it, but it just keeps giving me the following error:
E540: Unclosed expression sequence: stl+=%{empty(&filetype)
Does anybody know what this error means? I've been forever trying to solve it, but I just can't understand what it means.
Thanks for all your help. :)
With :set, all spaces in the value must be escaped with a backslash, too. Therefore, it's recommended to do away with any unnecessary whitespace there, or use :let &stl = '...' instead (where only contained ' characters must be doubled).

Linux bat file command line arguments:unexpected EOF while looking for matching `"'

i am running a bat file in linux as following .
java -cp ../lib/qautils.jar:../lib/Log4jWrapper1.2.jar:../lib/log4j-1.2.15.jar:../lib/jaa.jar com.pcube.qa.jaa.server.JAAServer -appdir /home/alpha/jaa/bin"
but if i run above getting following error:
./runjaa.bat: line 1: unexpected EOF while looking for matching `"'
./runjaa.bat: line 2: syntax error: unexpected end of file
Will anyone suggest me , where i am doing mistake.
If i delete " at the end , saying the directiory ,/home/alpha/jaa/bin does not exists.
Assuming that what you posted is accurate, you have a trailing " on that line that doesn't match up with another quotation mark. A quotation mark opens a quoted string, so your shell is looking for the closing quote.
You don't need the quote in this example, so just remove it.

Vim: E682 Invalid search pattern or delimiter

I am getting this error with some vim script file in .vim folder:
Error detected while processing /home/rafid/.vim/python.vim:
line 116
Line 116 contains this code:
vim:syntax = vim
Any body has in idea what the problem is?
Also, what is this statement supposed to do? I tried to search but couldn't because it is a composite statement.
EDIT: This is where I got the code from:
https://dev.launchpad.net/UltimateVimPythonSetup
Please see the end of the page.
Aren't modelines supposed to be placed within comments?
This works for me: " vim:syntax=vim.
Notice the space between " and the start of the statement.
It seems to work with or without a space between the vim: and the options part. So both " vim:syntax=vim and " vim: syntax=vim are valid.
Did you try fixing the typo?
vim:synatx = vim -> vim:syntax = vim
Sean
Is this a modeline? Then you need to redistribute spaces:
vim: syntax=vim

Resources