mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 14:43:35 +08:00 
			
		
		
		
	Updated plugins
This commit is contained in:
		| @ -6,53 +6,43 @@ priority -50 | ||||
| #							   General Stuff							  # | ||||
| ########################################################################### | ||||
| global !p | ||||
| import vim | ||||
| from os import path as ospath | ||||
| from string import Template | ||||
| import re | ||||
| from collections import Counter | ||||
| from vimsnippets import complete, has_cjk, display_width | ||||
|  | ||||
| from vimsnippets import complete | ||||
|  | ||||
| #http://docutils.sourceforge.net/docs/ref/rst/roles.html | ||||
| TEXT_ROLES = ['emphasis','literal','code','math', | ||||
| 			  'pep-reference','rfc-reference', | ||||
| 			  'strong','subscript','superscript', | ||||
| 			  'title-reference','raw'] | ||||
| # http://docutils.sourceforge.net/docs/ref/rst/roles.html | ||||
| TEXT_ROLES = ['emphasis', 'literal', 'code', 'math', | ||||
| 			  'pep-reference', 'rfc-reference', | ||||
| 			  'strong', 'subscript', 'superscript', | ||||
| 			  'title-reference', 'raw'] | ||||
| TEXT_ROLES_REGEX = r'\.\.\srole::?\s(w+)' | ||||
|  | ||||
| #http://docutils.sourceforge.net/docs/ref/rst/directives.html#specific-admonitions | ||||
| # http://docutils.sourceforge.net/docs/ref/rst/directives.html#specific-admonitions | ||||
| SPECIFIC_ADMONITIONS = ["attention", "caution", "danger", | ||||
| 						"error", "hint", "important", "note", | ||||
| 						"tip", "warning"] | ||||
| #http://docutils.sourceforge.net/docs/ref/rst/directives.html | ||||
| DIRECTIVES = ['topic','sidebar','math','epigraph', | ||||
| 			  'parsed-literal','code','highlights', | ||||
| 			  'pull-quote','compound','container','table','csv-table', | ||||
| 			  'list-table','class','sectnum', | ||||
| 			  'role','default-role','unicode', | ||||
| 			  'raw'] | ||||
| # http://docutils.sourceforge.net/docs/ref/rst/directives.html | ||||
| DIRECTIVES = ['code', 'contents', 'admonition', 'table', 'csv-table', 'list-table', | ||||
| 			  'class', 'container', 'sidebar', 'topic', 'title', | ||||
| 			  'role', 'default-role', 'raw'] | ||||
|  | ||||
| NONE_CONTENT_DIRECTIVES = ['rubric', 'contents', 'header', | ||||
| 						   'footer', 'date', 'include', 'title'] | ||||
| # DIRECTIVES_WITHOUT_TITLE means directive arguments equal None | ||||
| DIRECTIVES_WITHOUT_TITLE = ['math', 'meta', 'parsed-literal', 'line-block', | ||||
| 							'header', 'compound', 'highlights', 'pull-quote', | ||||
| 							'footer', 'epigraph', 'rubric', 'sectnum'] | ||||
|  | ||||
| INCLUDABLE_DIRECTIVES = ['image', 'figure', 'include'] | ||||
| # CJK chars | ||||
| # http://stackoverflow.com/questions/2718196/find-all-chinese-text-in-a-string-using-python-and-regex | ||||
| CJK_RE = re.compile(u'[⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〺〻㐀-䶵一-鿃豈-鶴侮-頻並-龎]', re.UNICODE) | ||||
|  | ||||
| #http://www.pygal.org/en/stable/documentation/types/index.html | ||||
| # Directives for Subsubsection Definition | ||||
| DIRECTIVES_FOR_SUBSTITUTION = ['replace', 'unicode', 'date'] | ||||
|  | ||||
| # http://www.pygal.org/en/stable/documentation/types/index.html | ||||
| CHART_TYPES = ["Line", "StackedLine", "HorizontalLine", "Bar", "StackedBar", "HorizontalBar", "Histogram", "XY", "DateLine", "TimeLine", "TimeDeltaLine", "DateTimeLine", "Pie", "Radar", "Box", "Dot", "Funnel", "Gauge", "SolidGauge", "Pyramid", "Treemap"] | ||||
|  | ||||
| def has_cjk(s): | ||||
| 	"""Detect if s contains CJK characters.""" | ||||
| 	return CJK_RE.search(s) is not None | ||||
|  | ||||
| def real_filename(filename): | ||||
| 	"""pealeextension name off if possible | ||||
| 	# i.e. "foo.bar.png will return "foo.bar" | ||||
| 	""" | ||||
| 	return ospath.splitext(filename)[0] | ||||
| 	return os.path.splitext(filename)[0] | ||||
|  | ||||
| def check_file_exist(rst_path, relative_path): | ||||
| 	""" | ||||
| @ -62,23 +52,10 @@ def check_file_exist(rst_path, relative_path): | ||||
| 	:param relative_path: path related to rst file | ||||
| 	:return: relative file's absolute path if file exist | ||||
| 	""" | ||||
| 	abs_path = ospath.join(ospath.dirname(rst_path), relative_path) | ||||
| 	if ospath.isfile(abs_path): | ||||
| 	abs_path = os.path.join(os.path.dirname(rst_path), relative_path) | ||||
| 	if os.path.isfile(abs_path): | ||||
| 		return abs_path | ||||
|  | ||||
|  | ||||
| try: | ||||
| 	rst_char_len = vim.strwidth  # Requires Vim 7.3+ | ||||
| except AttributeError: | ||||
| 	from unicodedata import east_asian_width | ||||
| 	def rst_char_len(s): | ||||
| 		"""Return the required over-/underline length for s.""" | ||||
| 		result = 0 | ||||
| 		for c in s: | ||||
| 			result += 2 if east_asian_width(c) in ('W', 'F') else 1 | ||||
| 		return result | ||||
|  | ||||
|  | ||||
| def	make_items(times, leading='+'): | ||||
| 	""" | ||||
| 	make lines with leading char multitimes | ||||
| @ -130,45 +107,45 @@ def get_popular_code_type(): | ||||
| endglobal | ||||
|  | ||||
| snippet part "Part" b | ||||
| `!p snip.rv = rst_char_len(t[1])*'#'` | ||||
| `!p snip.rv = display_width(t[1])*'#'` | ||||
| ${1:${VISUAL:Part name}} | ||||
| `!p snip.rv = rst_char_len(t[1])*'#'` | ||||
| `!p snip.rv = display_width(t[1])*'#'` | ||||
|  | ||||
| $0 | ||||
| endsnippet | ||||
|  | ||||
| snippet chap "Chapter" b | ||||
| `!p snip.rv = rst_char_len(t[1])*'*'` | ||||
| `!p snip.rv = display_width(t[1])*'*'` | ||||
| ${1:${VISUAL:Chapter name}} | ||||
| `!p snip.rv = rst_char_len(t[1])*'*'` | ||||
| `!p snip.rv = display_width(t[1])*'*'` | ||||
|  | ||||
| $0 | ||||
| endsnippet | ||||
|  | ||||
| snippet sec "Section" b | ||||
| ${1:${VISUAL:Section name}} | ||||
| `!p snip.rv = rst_char_len(t[1])*'='` | ||||
| `!p snip.rv = display_width(t[1])*'='` | ||||
|  | ||||
| $0 | ||||
| endsnippet | ||||
|  | ||||
| snippet ssec "Subsection" b | ||||
| ${1:${VISUAL:Subsection name}} | ||||
| `!p snip.rv = rst_char_len(t[1])*'-'` | ||||
| `!p snip.rv = display_width(t[1])*'-'` | ||||
|  | ||||
| $0 | ||||
| endsnippet | ||||
|  | ||||
| snippet sssec "Subsubsection" b | ||||
| ${1:${VISUAL:Subsubsection name}} | ||||
| `!p snip.rv = rst_char_len(t[1])*'^'` | ||||
| `!p snip.rv = display_width(t[1])*'^'` | ||||
|  | ||||
| $0 | ||||
| endsnippet | ||||
|  | ||||
| snippet para "Paragraph" b | ||||
| ${1:${VISUAL:Paragraph name}} | ||||
| `!p snip.rv = rst_char_len(t[1])*'"'` | ||||
| `!p snip.rv = display_width(t[1])*'"'` | ||||
|  | ||||
| $0 | ||||
| endsnippet | ||||
| @ -228,7 +205,7 @@ endsnippet | ||||
| # img, inc, fig | ||||
| snippet id "Includable Directives" b | ||||
| `!p | ||||
| real_name=real_filename(ospath.basename(t[2])) | ||||
| real_name=real_filename(os.path.basename(t[2])) | ||||
| di=t[1][:2] | ||||
|  | ||||
| link="" | ||||
| @ -264,23 +241,30 @@ snippet di "Directives" b | ||||
| $0 | ||||
| endsnippet | ||||
|  | ||||
| snippet nd "None Content Directives" b | ||||
| .. $1`!p snip.rv=complete(t[1], NONE_CONTENT_DIRECTIVES)`:: $2 | ||||
| snippet dt "Directives without title" b | ||||
| .. $1`!p snip.rv=complete(t[1], DIRECTIVES_WITHOUT_TITLE)`:: | ||||
|  | ||||
| 	${2:${VISUAL:Content}} | ||||
| $0 | ||||
| endsnippet | ||||
|  | ||||
| snippet ds "Directives for subscription" b | ||||
| .. |$1| $2`!p snip.rv=complete(t[2], DIRECTIVES_FOR_SUBSTITUTION)`:: ${3:Content} | ||||
| $0 | ||||
| endsnippet | ||||
|  | ||||
| snippet sa "Specific Admonitions" b | ||||
| .. $1`!p snip.rv =complete(t[1], SPECIFIC_ADMONITIONS)`:: | ||||
| .. $1`!p snip.rv =complete(t[1], SPECIFIC_ADMONITIONS)`:: $2 | ||||
|  | ||||
| 	${2:${VISUAL:Content}} | ||||
| 	${3:${VISUAL:Content}} | ||||
|  | ||||
| $0 | ||||
| endsnippet | ||||
|  | ||||
| #it will be trigger at start of line or after a word | ||||
| # it will be trigger at start of line or after a word | ||||
| snippet ro "Text Roles" w | ||||
| \ :$1`!p snip.rv=complete(t[1], | ||||
| 						  TEXT_ROLES+look_up_directives(TEXT_ROLES_REGEX, | ||||
| 							   TEXT_ROLES+look_up_directives(TEXT_ROLES_REGEX, | ||||
| 														path))`:\`$2\`\ | ||||
| endsnippet | ||||
|  | ||||
| @ -306,7 +290,7 @@ snippet chart "Pygal chart for Nikola" b | ||||
| .. chart:: $1`!p snip.rv=complete(t[1], CHART_TYPES)` | ||||
| 	:title: '${2:Browser usage evolution (in %)}' | ||||
| 	:x_labels: [${3:"2002", "2003", "2004", "2005", "2006", "2007"}] | ||||
| 	 | ||||
|  | ||||
| 	'Firefox', [None, None, 0, 16.6, 25, 31] | ||||
| 	'Chrome',  [None, None, None, None, None, None] | ||||
| 	'IE',      [85.8, 84.6, 84.7, 74.5, 66, 58.6] | ||||
| @ -323,4 +307,5 @@ snippet sid "SideBar" b | ||||
|  | ||||
| 	${2:${VISUAL:SideBar Content}} | ||||
| endsnippet | ||||
| # vim:ft=snippets: | ||||
|  | ||||
| # vim:set list noet sts=0 sw=4 ts=4: | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Amir Salihefendic
					Amir Salihefendic