add option to not expand tabs in snippet
This commit is contained in:
parent
eff5ec2c66
commit
fbb339d03e
@ -250,6 +250,11 @@ snippet on. The options currently supported are >
|
|||||||
trigger (see above) even if it doesn't have any spaces. The resulting
|
trigger (see above) even if it doesn't have any spaces. The resulting
|
||||||
match is also passed to any python code blocks in your snippet
|
match is also passed to any python code blocks in your snippet
|
||||||
definition as the local variable "match".
|
definition as the local variable "match".
|
||||||
|
t Don't expand tabs - By default, UltiSnips tries to expand leading tabs
|
||||||
|
in a snippet to match the results of automatic indentation. If this
|
||||||
|
option is set, UltiSnips will not try to do this expansion, and will
|
||||||
|
leave the tabs alone. This can be useful for snippets dealing with
|
||||||
|
tab delimited formats, etc..
|
||||||
|
|
||||||
4.2 Plaintext Snippets *UltiSnips-plaintext-snippets*
|
4.2 Plaintext Snippets *UltiSnips-plaintext-snippets*
|
||||||
----------------------
|
----------------------
|
||||||
|
@ -354,11 +354,16 @@ class Snippet(object):
|
|||||||
|
|
||||||
v = []
|
v = []
|
||||||
for line_num, line in enumerate(lines[0:]):
|
for line_num, line in enumerate(lines[0:]):
|
||||||
tabs = len(self._TABS.match(line).group(0))
|
if "t" in self._opts:
|
||||||
|
tabs = 0
|
||||||
|
else:
|
||||||
|
tabs = len(self._TABS.match(line).group(0))
|
||||||
|
|
||||||
if line_num == 0:
|
if line_num == 0:
|
||||||
line_ind = ""
|
line_ind = ""
|
||||||
else:
|
else:
|
||||||
line_ind = indent
|
line_ind = indent
|
||||||
|
|
||||||
line_ind += tabs * self._util.sw * " "
|
line_ind += tabs * self._util.sw * " "
|
||||||
line_ind = self._util.indent_to_spaces(line_ind)
|
line_ind = self._util.indent_to_spaces(line_ind)
|
||||||
line_ind = self._util.spaces_to_indent(line_ind)
|
line_ind = self._util.spaces_to_indent(line_ind)
|
||||||
|
73
test.py
73
test.py
@ -1438,6 +1438,79 @@ class SnippetOptions_ExpandWordSnippets_ExpandSuffix3(
|
|||||||
keys = "[[test" + EX
|
keys = "[[test" + EX
|
||||||
wanted = "[[Expand me!"
|
wanted = "[[Expand me!"
|
||||||
|
|
||||||
|
####################
|
||||||
|
# NO TAB EXPANSION #
|
||||||
|
####################
|
||||||
|
class _No_Tab_Expand(_VimTest):
|
||||||
|
snippets = ("test", "\t\tExpand\tme!\t", "", "t")
|
||||||
|
|
||||||
|
class No_Tab_Expand_Simple(_No_Tab_Expand):
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "\t\tExpand\tme!\t"
|
||||||
|
|
||||||
|
class No_Tab_Expand_Leading_Spaces(_No_Tab_Expand):
|
||||||
|
keys = " test" + EX
|
||||||
|
wanted = " \t\tExpand\tme!\t"
|
||||||
|
|
||||||
|
class No_Tab_Expand_Leading_Tabs(_No_Tab_Expand):
|
||||||
|
keys = "\ttest" + EX
|
||||||
|
wanted = "\t\t\tExpand\tme!\t"
|
||||||
|
|
||||||
|
class No_Tab_Expand_No_TS(_No_Tab_Expand):
|
||||||
|
def _options_on(self):
|
||||||
|
self.send(":set sw=3\n")
|
||||||
|
self.send(":set sts=3\n")
|
||||||
|
def _options_off(self):
|
||||||
|
self.send(":set sw=8\n")
|
||||||
|
self.send(":set sts=0\n")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "\t\tExpand\tme!\t"
|
||||||
|
|
||||||
|
class No_Tab_Expand_ET(_No_Tab_Expand):
|
||||||
|
def _options_on(self):
|
||||||
|
self.send(":set sw=3\n")
|
||||||
|
self.send(":set expandtab\n")
|
||||||
|
def _options_off(self):
|
||||||
|
self.send(":set sw=8\n")
|
||||||
|
self.send(":set noexpandtab\n")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "\t\tExpand\tme!\t"
|
||||||
|
|
||||||
|
class No_Tab_Expand_ET_Leading_Spaces(_No_Tab_Expand):
|
||||||
|
def _options_on(self):
|
||||||
|
self.send(":set sw=3\n")
|
||||||
|
self.send(":set expandtab\n")
|
||||||
|
def _options_off(self):
|
||||||
|
self.send(":set sw=8\n")
|
||||||
|
self.send(":set noexpandtab\n")
|
||||||
|
keys = " test" + EX
|
||||||
|
wanted = " \t\tExpand\tme!\t"
|
||||||
|
|
||||||
|
class No_Tab_Expand_ET_SW(_No_Tab_Expand):
|
||||||
|
def _options_on(self):
|
||||||
|
self.send(":set sw=8\n")
|
||||||
|
self.send(":set expandtab\n")
|
||||||
|
def _options_off(self):
|
||||||
|
self.send(":set sw=8\n")
|
||||||
|
self.send(":set noexpandtab\n")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "\t\tExpand\tme!\t"
|
||||||
|
|
||||||
|
class No_Tab_Expand_ET_SW_TS(_No_Tab_Expand):
|
||||||
|
def _options_on(self):
|
||||||
|
self.send(":set sw=3\n")
|
||||||
|
self.send(":set sts=3\n")
|
||||||
|
self.send(":set ts=3\n")
|
||||||
|
self.send(":set expandtab\n")
|
||||||
|
def _options_off(self):
|
||||||
|
self.send(":set sw=8\n")
|
||||||
|
self.send(":set ts=8\n")
|
||||||
|
self.send(":set sts=0\n")
|
||||||
|
self.send(":set noexpandtab\n")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "\t\tExpand\tme!\t"
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# REGEX MATCHES #
|
# REGEX MATCHES #
|
||||||
#################
|
#################
|
||||||
|
Loading…
x
Reference in New Issue
Block a user