You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.0 KiB
92 lines
2.0 KiB
priority -50 |
|
|
|
global !p |
|
def create_table(snip): |
|
# retrieving single line from current string and treat it like tabstops count |
|
placeholders_string = snip.buffer[snip.line].strip().split("x",1) |
|
rows_amount = int(placeholders_string[0]) |
|
columns_amount = int(placeholders_string[1]) |
|
|
|
# erase current line |
|
snip.buffer[snip.line] = '' |
|
|
|
# create anonymous snippet with expected content and number of tabstops |
|
anon_snippet_title = ' | '.join(['$' + str(col) for col in range(1,columns_amount+1)]) + "\n" |
|
anon_snippet_delimiter = ':-|' * (columns_amount-1) + ":-\n" |
|
anon_snippet_body = "" |
|
for row in range(1,rows_amount+1): |
|
anon_snippet_body += ' | '.join(['$' + str(row*columns_amount+col) for col in range(1,columns_amount+1)]) + "\n" |
|
anon_snippet_table = anon_snippet_title + anon_snippet_delimiter + anon_snippet_body |
|
|
|
# expand anonymous snippet |
|
snip.expand_anon(anon_snippet_table) |
|
endglobal |
|
|
|
########################### |
|
# Sections and Paragraphs # |
|
########################### |
|
snippet sec "Section" b |
|
# ${1:Section Name} # |
|
$0 |
|
endsnippet |
|
|
|
snippet ssec "Sub Section" b |
|
## ${1:Section Name} ## |
|
$0 |
|
endsnippet |
|
|
|
snippet sssec "SubSub Section" b |
|
### ${1:Section Name} ### |
|
$0 |
|
endsnippet |
|
|
|
snippet par "Paragraph" b |
|
#### ${1:Paragraph Name} #### |
|
$0 |
|
endsnippet |
|
|
|
snippet spar "Paragraph" b |
|
##### ${1:Paragraph Name} ##### |
|
$0 |
|
endsnippet |
|
|
|
################ |
|
# Common stuff # |
|
################ |
|
snippet link "Link to something" |
|
[${1:${VISUAL:Text}}](${3:http://${2:www.url.com}})$0 |
|
endsnippet |
|
|
|
snippet img "Image" |
|
![${1:pic alt}](${2:path}${3/.+/ "/}${3:opt title}${3/.+/"/})$0 |
|
endsnippet |
|
|
|
snippet ilc "Inline Code" i |
|
\`$1\`$0 |
|
endsnippet |
|
|
|
snippet cbl "Codeblock" b |
|
\`\`\` |
|
$1 |
|
\`\`\` |
|
$0 |
|
endsnippet |
|
|
|
snippet refl "Reference Link" |
|
[${1:${VISUAL:Text}}][${2:id}]$0 |
|
|
|
[$2]:${4:http://${3:www.url.com}} "${5:$4}" |
|
endsnippet |
|
|
|
snippet fnt "Footnote" |
|
[^${1:${VISUAL:Footnote}}]$0 |
|
|
|
[^$1]:${2:Text} |
|
endsnippet |
|
|
|
post_jump "create_table(snip)" |
|
snippet "tb(\d+x\d+)" "Customizable table" br |
|
`!p snip.rv = match.group(1)` |
|
endsnippet |
|
|
|
# vim:ft=snippets:
|
|
|