| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It's time!
The rest of the vimrc can probably be allowed to load, though.
|
| |
|
| |
|
|
|
|
|
| |
This includes the creation of a hitherto-unneeded Makefile target
install-vim-syntax.
|
|
|
|
|
|
|
|
|
| |
Error message is:
Error detected while processing /home/tom/.vim/after/syntax/sh.vim:
line 10:
E108: No such variable: "g:is_kornshell"
Press ENTER or type command to continue
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This allows me to use line-breaking to keep the file readable.
|
|
|
|
|
| |
The things they were intended to fix aren't actually that bad, on
review.
|
| |
|
| |
|
| |
|
|
|
|
| |
These forms of parameter expansion are specified in POSIX sh.
|
|
|
|
|
|
| |
The syntax highlighter flags this code with an error on the final square
bracket: `case $foo in [![:ascii:]]) ;; esac`, but that's all legal. I'm
not yet sure how to fix it, so will just turn the error group for now.
|
|
|
|
|
|
|
| |
These two changes coax syntax/sh.vim into realising that POSIX shell
does not specify 'until' as a builtin (that's a Bash/Ksh thing), and
that POSIX shell is able to nest 'while' loops within other blocks
(that's not a Bash/Ksh thing).
|
|
|
|
|
|
| |
This is what was missing after I initially redefined these groups and
stopped all POSIX shell scripts thinking they were POSIX. The words now
highlight correctly when within control structures again.
|
|
|
|
|
| |
It's not a shell builtin in `dash`, but it is in `Bash`, and I kind of
think of it that way.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The defaults for these groups don't make much sense to me, so I
completely reset them.
This isn't quite complete yet; for some reason as soon as e.g. an IFS=
setting is contained in e.g. an "if" or "while" block, they don't
highlight correctly anymore. There's probably some other part of the
core syntax/sh.vim file I need to include here.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than setting g:is_posix and working around core syntax/sh.vim's
ideas about Korn and POSIX shells, forego sh.vim's efforts to guess what
shell the system /bin/sh is entirely. It's irrelevant to me anyway,
since I'll often be writing shell scripts to run on an entirely
different system.
Instead, if we have a #!/bin/sh shebang reflected in the b:is_sh
variable set by core filetype.vim, and we don't have any other
buffer-level indication of what shell this is, assume it's POSIX,
because I very rarely write Bourne.
Then, after the syntax file is loaded, clear away all but one of the
resulting b:is_* variables.
I have a feeling this is going to end with me re-implementing this
syntax file, possibly as separate sh.vim, bash.vim, and ksh.vim files.
|
|
|
|
|
|
| |
This was unintentionally committed in e36efd4. The correct name of the
variable is b:is_ksh. b:is_kornshell_proper was a rejected first
revision of the name.
|
|
|
|
| |
No functional effect.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the rule setting the custom b:is_ksh variable used for this
workaround (established in 52615f6) into an ftplugin file, rather than
into ftdetect; the latter seems a much more appropriate place since by
this point we've definitely decided the file type is "sh".
From the revised comment in this changeset:
>Setting g:is_posix above also prompts Vim's core syntax/sh.vim script
>to set g:is_kornshell and thereby b:is_kornshell to the same value as
>g:is_posix.
>
>That's very confusing, so before it happens we'll copy b:is_kornshell's
>value as determined by filetype.vim and ~/.vim/ftdetect/sh.vim into a
>custom variable b:is_ksh, before its meaning gets confused.
>
>b:is_ksh as a name is more inline with b:is_bash and b:is_sh, anyway,
>so we'll just treat b:is_kornshell like it's both misnamed and broken.
>
>We can then switch on our custom variable in ~/.vim/after/syntax/sh.vim
>to apply settings that actually *are* unique to Korn shell and its
>derivatives.
|
|
|
|
|
| |
This and the other files in the now-removed vim/after/ftdetect directory
were moved to vim/ftdetect in f8af47b.
|
| |
|
|
|
|
|
|
| |
There's been a lot of work done to sh.vim since these customisations
were made, and I can't remember why I made some of them. I'll work
without them for a while and reapply any of them if needed.
|
|
|
|
| |
Turned out to be a bad idea.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Refine previous commit a little to restore some of the weirdness I
actually do like
|
| |
|
| |
|