Commit Graph

1147 Commits

Author SHA1 Message Date
Kevin Ballard
dee8265206 Support TagBar for snippets files
Bundle an exuberant ctags definition for UltiSnips and tell TagBar how
to find it.
2014-07-05 19:36:38 -07:00
Holger Rapp
d1f6f7ed81 Better syntax file. 2014-07-02 07:27:29 +02:00
Kevin Ballard
b10b62ae6d Twiddle indentation settings
We just want autoindent, no need for smartindent/etc that may be set by
the user's vimrc.
2014-06-30 21:17:52 -07:00
Kevin Ballard
67c7422ae2 Set up basic highlighting for snipmate files
Try to detect a snipmate-formatted file by looking at the directory name
and searching for endsnippet. If we think it's a snipmate file, switch
over to an alternative syntax highlighting variant.
2014-06-30 21:14:55 -07:00
Kevin Ballard
40145103b6 Stop embedding python/viml/sh if the `` includes {
In order to handle brace balancing properly, we need our own region to
match the {/} pairs, which unfortunately means that if a { occurs in a
command substitution, we have to disable the embedded language
highlighting.
2014-06-30 20:10:42 -07:00
Kevin Ballard
010e2c4fac Remove the coloring for python commands
Python commands tend to be longer than normal commands, and they already
include embedded python syntax coloring, so coloring them red like shell
commands is a bit overwhelming.

Preferably there would be some subtle background color we could apply,
but I don't see any pre-existing group name for that, and defining our
own would not play well with colorschemes.
2014-06-30 19:29:00 -07:00
Kevin Ballard
ebd62751e7 Tweak snippet/global highlighting to always highlight the end
The snippet/global regions were always ending correctly, but an unclosed
contained region could cause the wrong highlighting to apply to the
endsnippet/endglobal. Tweak the definitions such that the snippet/global
regions actually end at the start of the line and the footer occurs
outside the region.
2014-06-30 19:26:28 -07:00
Kevin Ballard
30ecd1d1b0 Rewrite parsing for tab stops 2014-06-30 19:22:32 -07:00
Kevin Ballard
5fa39faa92 fixup! Clean up miscellaneous syntax items 2014-06-30 18:38:50 -07:00
Kevin Ballard
4b73864b74 Fix the docstring for ShellCodeToken
It's not vim-syntax-related, but it was bugging me.
2014-06-30 15:56:32 -07:00
Kevin Ballard
0dba6503e1 Clean up miscellaneous syntax items
Remove a few obsolete items.

Remove the snipTabsOnly item. A tab-only line is not necessarily an
error.

Color leading spaces with a red background, because the default Error
coloring doesn't affect the display of spaces.
2014-06-30 15:41:35 -07:00
Kevin Ballard
acc79747c9 Syntax highlight the snippet trigger properly
This supports multiword triggers, docstrings, options, and even
highlights invalid multiword triggers as errors.
2014-06-30 15:29:48 -07:00
Kevin Ballard
5760eb4033 Fix empty snippets/globals 2014-06-30 00:01:28 -07:00
Kevin Ballard
d239402b7f Rewrite syntax matching for global
The body of a global now only has Python syntax coloring if the trigger
is !p. This matches the actual behavior of UltiSnips. AFAIK right now
globals with other triggers are useless, but this opens the door to
proper syntax coloring for those if they ever gain a use.
2014-06-29 23:45:04 -07:00
Kevin Ballard
cb2905c178 Rewrite syntax matching for snippet 2014-06-29 23:33:36 -07:00
Kevin Ballard
5937cea081 Mark up syntax items with 'display' as appropriate 2014-06-29 23:22:53 -07:00
Kevin Ballard
b82759b250 Rewrite extends/priority/clearsnippets 2014-06-29 23:11:11 -07:00
Kevin Ballard
672117c478 Add hierarchy to syntax file
Redo comments with fold markers to provide an appropriate hierarchy to
the syntax file itself.
2014-06-29 23:04:37 -07:00
Kevin Ballard
739e3d94ad Fix coloring of shell/VimL/Python command substitutions
Include the sh syntax for shell commands.
Make the matching on !v/!p work more accurately.
Highlight the !v/!p separately from the embedded Python/VimL.

AFAIK the only issue now is that "\`" escapes inside shell/VimL/Python
are not treated as bare "`" characters by the embedded syntax, but I
don't believe there's any way to fix that.
2014-06-29 20:47:22 -07:00
Kevin Ballard
5b80ef187d Properly handle \` escapes in commands 2014-06-29 20:09:13 -07:00
Kevin Ballard
636546bebc Fix syntax name
b:current_syntax should be set to "snippets", as that's the filetype,
not "snippet".
2014-06-29 19:42:57 -07:00
Kevin Ballard
cab1509952 Fix embedded VimL highlighting
The b:current_syntax variable is set by syntax-include, so it needs to
be unset again or the second syntax-include does nothing.
2014-06-29 19:42:11 -07:00
Kevin Ballard
1ad7d54d75 Fix highlighting of Python/VimL commands
Also mark all the highlighting as default, so it can be overridden more
easily by the user.
2014-06-29 19:36:07 -07:00
Holger Rapp
7b8641e1fd Back out fix for #323. Fixes #324. 2014-06-21 15:31:26 +02:00
Holger Rapp
7d65e21415 Merge pull request #323 from opennota/master
Check for existing of FT function before calling it.
2014-06-21 11:47:48 +02:00
opennota
93be385d38 Don't complain about undefined function
When lazy loading UltiSnips on specific filetypes ([vim-plug](https://github.com/junegunn/vim-plug) and [NeoBundle](https://github.com/Shougo/neobundle.vim) can do that), UltiSnips#FileTypeChanged() function can be undefined while ftdetect/UltiSnips.vim is loading.
2014-06-21 12:35:25 +07:00
Holger Rapp
e59a60cbea Fixed docu for clearsnippets. 2014-05-31 12:16:03 +02:00
Holger Rapp
ee1a2bb2b8 Escape '\\' in UltiSnipsEdit.
Fixes #308.
2014-05-27 04:15:19 +02:00
Holger Rapp
f2d9e8b608 Support for selection=old. 2014-05-03 10:42:23 +02:00
Mathias Fussenegger
da5b124af5 add support for selection=old 2014-05-02 20:00:42 +02:00
Holger Rapp
e4f2e34fc6 Remove tool that converts snipMate snippets. As support is now build into ultisnips, this is no longer needed. 2014-04-30 07:10:39 +02:00
Holger Rapp
bca51cb403 Brought back snipMate compatibility file. We cannot rely on people tracking vim-snippets to have the renmamed version of this available there. 2014-04-30 07:09:08 +02:00
Holger Rapp
5c8e3ca488 Merge pull request #275 from skeept/patch-2
fix minor typo in documentation
2014-04-18 06:13:56 +02:00
skeept
fb58034b1a Re-add > before code. 2014-04-17 21:13:29 +00:00
Holger Rapp
1e6928d0a1 Merge pull request #276 from meonkeys/patch-1
README: adapt to Vundle interface change
2014-04-16 08:54:46 +02:00
Adam Monsen
2042ad476d README: adapt to Vundle interface change
"Bundle" is now "Plugin"

https://github.com/gmarik/Vundle.vim/blob/master/doc/vundle.txt#L345-L369
2014-04-15 08:47:51 -07:00
skeept
98289510ca Update UltiSnips.txt 2014-04-15 14:20:31 +00:00
Holger Rapp
04ef0f8f5c Merged unite source by Skeept. 2014-04-15 08:19:23 +02:00
Holger Rapp
2f84899445 Remove snipMate compatibility file. If at all, this should now live in vim-snippets. 2014-04-13 10:04:12 +02:00
Holger Rapp
c21016573b All mappings should be 'silent'. 2014-04-13 10:03:41 +02:00
Helder Jorge Rodrigues Inacio
77a9d8941f simple test for unite interface 2014-04-12 21:02:11 -04:00
Holger Rapp
eff62c336a Be more correct about encoding/decoding strings under py3. Patch by aeruder. 2014-04-11 19:51:36 +02:00
Andrew Ruder
cae27fba5c Ensure that _vim_{dec,enc} always succeeds on py3
In py2 we could get by with attempting to encode/decode a string and if
it failed just ignore and return.  Unfortunately on py3 a string decodes
to a bytearray and a bytearray encodes to a string.  We can't simply
return the original object when we fail.  We choose replace for handling
bytes we don't understand.

Test case (using python3 for UltiSnips):
open a new file
:set encoding=utf-8
qa<Backspace>q
"ap

Warning: this test case makes it very difficult to exit vim cleanly and
save files!

Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
2014-04-10 08:06:56 -05:00
Holger Rapp
15f39c0801 Do not barf more than once when python is not found. Patch by blueyed. 2014-04-10 07:44:48 +02:00
Daniel Hahler
210304884a Define all/other dummy functions used in autocommands 2014-04-09 19:32:26 +02:00
Daniel Hahler
7da9dbe2af Add UltiSnipsFileType augroup and unset it if UltiSnips is disabled 2014-04-09 19:31:00 +02:00
Daniel Hahler
3208654c4e Do not map keys if 'g:_uspy' could not be set 2014-04-09 19:30:00 +02:00
Daniel Hahler
c57c717e33 Delete autocommands when Bootstrap failed
When bootstrapping fails to setup `g:_uspy` (e.g. without Python),
the functions used in the autocommands are not being defined.

Since it makes no sense to have autocommands defined for UltiSnips in this
case, this patch deletes them (via a new augroup 'UltiSnips').
2014-04-09 19:04:30 +02:00
Daniel Hahler
2ad6ad4493 Fix E168: :finish used outside of a sourced file 2014-04-09 19:04:08 +02:00
Holger Rapp
a3e654fc54 _vimfiles -> vimfiles. Patch b Oberon. 2014-04-06 16:33:02 +02:00