Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

add Makefile, reorganize tree to allow vba creation

  • Loading branch information...
commit bc6510c9d813709d234242f70d67b5cdac6a46bd 1 parent d5d5d34
@elindsey elindsey authored committed
View
1  .gitignore
@@ -4,4 +4,3 @@ html.vim
ruby.vim
sgml.vim
xhtml.vim
-doc
View
13 Makefile
@@ -0,0 +1,13 @@
+PLUGIN = xmledit
+
+SOURCE = ftplugin/xml.vim
+SOURCE += doc/xml-plugin.txt
+
+${PLUGIN}.vba: ${SOURCE}
+ vim --cmd 'let g:plugin_name="${PLUGIN}"' -S build.vim -cq!
+
+install:
+ rsync -Rv ${SOURCE} ${HOME}/.vim/
+
+clean:
+ rm ${PLUGIN}.vba
View
5 build.vim
@@ -0,0 +1,5 @@
+let g:vimball_home = "."
+e Makefile
+v/^SOURCE/d
+%s/^SOURCE\s\++\?=\s\+//
+execute '%MkVimball!' . g:plugin_name
View
235 doc/xml-plugin.txt
@@ -0,0 +1,235 @@
+*xml-plugin.txt* Help edit XML and SGML documents. #version#
+
+ XML Edit
+
+A filetype plugin to help edit XML and SGML documents.
+
+This script provides some convenience when editing XML (and some SGML
+including HTML) formated documents. It allows you to jump to the beginning
+or end of the tag block your cursor is in. '%' will jump between '<' and '>'
+within the tag your cursor is in. When in insert mode and you finish a tag
+(pressing '>') the tag will be completed. If you press '>' twice it will
+complete the tag and place the cursor in the middle of the tags on it's own
+line (helps with nested tags).
+
+Usage: Place this file into your ftplugin directory. To add html support
+Sym-link or copy this file to html.vim in your ftplugin directory. To activte
+the script place 'filetype plugin on' in your |.vimrc| file. See |ftplugins|
+for more information on this topic.
+
+If the file edited is of type "html" and "xml_use_html" is defined then the
+following tags will not auto complete:
+<img>, <input>, <param>, <frame>, <br>, <hr>, <meta>, <link>, <base>, <area>
+
+If the file edited is of type 'html' and 'xml_use_xhtml' is defined the above
+tags will autocomplete the xml closing staying xhtml compatable.
+ex. <hr> becomes <hr /> (see |xml-plugin-settings|)
+
+NOTE: If you used the VIM 5.x version of this file (xmledit.vim) you'll need
+to comment out the section where you called it. It is no longer used in the
+VIM 6.x version.
+
+Known Bugs
+
+- This script will modify registers ". and "x; register "" will be restored.
+- < & > marks inside of a CDATA section are interpreted as actual XML tags
+ even if unmatched.
+- Although the script can handle leading spaces such as < tag></ tag> it is
+ illegal XML syntax and considered very bad form.
+- Placing a literal `>' in an attribute value will auto complete dispite that
+ the start tag isn't finished. This is poor XML anyway you should use
+ &gt; instead.
+- The matching algorithm can handle illegal tag characters where as the tag
+ completion algorithm can not.
+
+------------------------------------------------------------------------------
+ *xml-plugin-mappings*
+Mappings
+
+<LocalLeader> is a setting in VIM that depicts a prefix for scripts and
+plugins to use. By default this is the backslash key `\'. See |mapleader|
+for details.
+
+<LocalLeader><Space>
+ Normal or Insert - Continue editing after the ending tag. This
+ option requires xml_jump_string to be set to function. When a tag
+ is completed it will append the xml_jump_string. Once this mapping
+ is ran it will delete the next xml_jump_string pattern to the right
+ of the curser and delete it leaving you in insert mode to continue
+ editing.
+
+<LocalLeader>w
+ Normal - Will clear the entire file of left over xml_jump_string garbage.
+ * This will also happen automatically when you save the file. *
+
+<LocalLeader>x
+ Visual - Place a custom XML tag to suround the selected text. You
+ need to have selected text in visual mode before you can use this
+ mapping. See |visual-mode| for details.
+
+<LocalLeader>. or <LocalLeader>>
+ Insert - Place a literal '>' without parsing tag.
+
+<LocalLeader>5 or <LocalLeader>%
+ Normal or Visual - Jump to the begining or end tag.
+
+<LocalLeader>d
+ Normal - Deletes the surrounding tags from the cursor. >
+ <tag1>outter <tag2>inner text</tag2> text</tag1>
+ ^
+< Turns to: >
+ outter <tag2>inner text</tag2> text
+ ^
+<
+
+------------------------------------------------------------------------------
+ *xml-plugin-settings*
+Options
+
+(All options must be placed in your |.vimrc| prior to the |ftplugin|
+command.)
+
+xml_tag_completion_map
+ Use this setting to change the default mapping to auto complete a
+ tag. By default typing a literal `>' will cause the tag your editing
+ to auto complete; pressing twice will auto nest the tag. By using
+ this setting the `>' will be a literal `>' and you must use the new
+ mapping to perform auto completion and auto nesting. For example if
+ you wanted Control-L to perform auto completion inmstead of typing a
+ `>' place the following into your .vimrc: >
+ let xml_tag_completion_map = "<C-l>"
+<
+xml_tag_syntax_prefixes
+ Sets a pattern that is used to distinguish XML syntax elements that
+ identify xml tags. By defult the value is 'html\|xml\|docbk'. This
+ means that all syntax items that start with "html", "xml" or "docbk" are
+ treated as XML tags. In case a completion is triggered after a syntax
+ element that does not match this pattern the end tag will not be inserted.
+ The pattern should match at the beginning of a syntax element name.
+ If you edit XSLT files you probably want to add "xsl" to the list (note
+ the signle quotes): >
+ let xml_tag_syntax_prefixes = 'html\|xml\|xsl\|docbk'
+<
+xml_no_auto_nesting
+ This turns off the auto nesting feature. After a completion is made
+ and another `>' is typed xml-edit automatically will break the tag
+ accross multiple lines and indent the curser to make creating nested
+ tqags easier. This feature turns it off. Enter the following in your
+ .vimrc: >
+ let xml_no_auto_nesting = 1
+<
+xml_use_xhtml
+ When editing HTML this will auto close the short tags to make valid
+ XML like <hr /> and <br />. Enter the following in your vimrc to
+ turn this option on: >
+ let xml_use_xhtml = 1
+<
+xml_no_html
+ This turns off the support for HTML specific tags. Place this in your
+ .vimrc: >
+ let xml_no_html = 1
+<
+xml_jump_string
+ This turns off the support for continuing edits after an ending tag.
+ xml_jump_string can be any string how ever a simple character will
+ suffice. Pick a character or small string that is unique and will
+ not interfer with your normal editing. See the <LocalLeader>Space
+ mapping for more.
+ .vimrc: >
+ let xml_jump_string = "`"
+<
+------------------------------------------------------------------------------
+ *xml-plugin-callbacks*
+Callback Functions
+
+A callback function is a function used to customize features on a per tag
+basis. For example say you wish to have a default set of attributs when you
+type an empty tag like this:
+ You type: <tag>
+ You get: <tag default="attributes"></tag>
+
+This is for any script programmers who wish to add xml-plugin support to
+there own filetype plugins.
+
+Callback functions recive one attribute variable which is the tag name. The
+all must return either a string or the number zero. If it returns a string
+the plugin will place the string in the proper location. If it is a zero the
+plugin will ignore and continue as if no callback existed.
+
+The following are implemented callback functions:
+
+HtmlAttribCallback
+ This is used to add default attributes to html tag. It is intended
+ for HTML files only.
+
+XmlAttribCallback
+ This is a generic callback for xml tags intended to add attributes.
+
+ *xml-plugin-html*
+Callback Example
+
+The following is an example of using XmlAttribCallback in your .vimrc
+>
+ function XmlAttribCallback (xml_tag)
+ if a:xml_tag ==? "my-xml-tag"
+ return "attributes=\"my xml attributes\""
+ else
+ return 0
+ endif
+ endfunction
+<
+The following is a sample html.vim file type plugin you could use:
+>
+ " Vim script file vim600:fdm=marker:
+ " FileType: HTML
+ " Maintainer: Devin Weaver <vim (at) tritarget.com>
+ " Location: http://www.vim.org/scripts/script.php?script_id=301
+
+ " This is a wrapper script to add extra html support to xml documents.
+ " Original script can be seen in xml-plugin documentation.
+
+ " Only do this when not done yet for this buffer
+ if exists("b:did_ftplugin")
+ finish
+ endif
+ " Don't set 'b:did_ftplugin = 1' because that is xml.vim's responsability.
+
+ let b:html_mode = 1
+
+ if !exists("*HtmlAttribCallback")
+ function HtmlAttribCallback( xml_tag )
+ if a:xml_tag ==? "table"
+ return "cellpadding=\"0\" cellspacing=\"0\" border=\"0\""
+ elseif a:xml_tag ==? "link"
+ return "href=\"/site.css\" rel=\"StyleSheet\" type=\"text/css\""
+ elseif a:xml_tag ==? "body"
+ return "bgcolor=\"white\""
+ elseif a:xml_tag ==? "frame"
+ return "name=\"NAME\" src=\"/\" scrolling=\"auto\" noresize"
+ elseif a:xml_tag ==? "frameset"
+ return "rows=\"0,*\" cols=\"*,0\" border=\"0\""
+ elseif a:xml_tag ==? "img"
+ return "src=\"\" width=\"0\" height=\"0\" border=\"0\" alt=\"\""
+ elseif a:xml_tag ==? "a"
+ if has("browse")
+ " Look up a file to fill the href. Used in local relative file
+ " links. typeing your own href before closing the tag with `>'
+ " will override this.
+ let cwd = getcwd()
+ let cwd = substitute (cwd, "\\", "/", "g")
+ let href = browse (0, "Link to href...", getcwd(), "")
+ let href = substitute (href, cwd . "/", "", "")
+ let href = substitute (href, " ", "%20", "g")
+ else
+ let href = ""
+ endif
+ return "href=\"" . href . "\""
+ else
+ return 0
+ endif
+ endfunction
+ endif
+
+ " On to loading xml.vim
+ runtime ftplugin/xml.vim
+<
View
379 ftplugin/xml.vim
@@ -550,141 +550,6 @@ function s:EditFromJump( )
endfunction
endif
-" Section: Doc installation {{{1
-" Function: s:XmlInstallDocumentation(full_name, revision) {{{2
-" Install help documentation.
-" Arguments:
-" full_name: Full name of this vim plugin script, including path name.
-" revision: Revision of the vim script. #version# mark in the document file
-" will be replaced with this string with 'v' prefix.
-" Return:
-" 1 if new document installed, 0 otherwise.
-" Note: Cleaned and generalized by guo-peng Wen
-"'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
-function! s:XmlInstallDocumentation(full_name, revision)
- " Name of the document path based on the system we use:
- if (has("unix"))
- " On UNIX like system, using forward slash:
- let l:slash_char = '/'
- let l:mkdir_cmd = ':silent !mkdir -p '
- else
- " On M$ system, use backslash. Also mkdir syntax is different.
- " This should only work on W2K and up.
- let l:slash_char = '\'
- let l:mkdir_cmd = ':silent !mkdir '
- endif
-
- let l:doc_path = l:slash_char . 'doc'
- "let l:doc_home = l:slash_char . '.vim' . l:slash_char . 'doc'
-
- " Figure out document path based on full name of this script:
- let l:vim_plugin_path = fnamemodify(a:full_name, ':h')
- "let l:vim_doc_path = fnamemodify(a:full_name, ':h:h') . l:doc_path
- let l:vim_doc_path = matchstr(l:vim_plugin_path,
- \ '.\{-}\ze\%(\%(ft\)\=plugin\|macros\)') . l:doc_path
- if (!(filewritable(l:vim_doc_path) == 2))
- echomsg "Doc path: " . l:vim_doc_path
- execute l:mkdir_cmd . l:vim_doc_path
- if (!(filewritable(l:vim_doc_path) == 2))
- " Try a default configuration in user home:
- "let l:vim_doc_path = expand("~") . l:doc_home
- let l:vim_doc_path = matchstr(&rtp,
- \ escape($HOME, '\') .'[/\\]\%(\.vim\|vimfiles\)')
- if (!(filewritable(l:vim_doc_path) == 2))
- execute l:mkdir_cmd . l:vim_doc_path
- if (!(filewritable(l:vim_doc_path) == 2))
- " Put a warning:
- echomsg "Unable to open documentation directory"
- echomsg " type :help add-local-help for more informations."
- return 0
- endif
- endif
- endif
- endif
-
- " Exit if we have problem to access the document directory:
- if (!isdirectory(l:vim_plugin_path)
- \ || !isdirectory(l:vim_doc_path)
- \ || filewritable(l:vim_doc_path) != 2)
- return 0
- endif
-
- " Full name of script and documentation file:
- let l:script_name = 'xml.vim'
- let l:doc_name = 'xml-plugin.txt'
- let l:plugin_file = l:vim_plugin_path . l:slash_char . l:script_name
- let l:doc_file = l:vim_doc_path . l:slash_char . l:doc_name
-
- " Bail out if document file is still up to date:
- if (filereadable(l:doc_file) &&
- \ getftime(l:plugin_file) < getftime(l:doc_file))
- return 0
- endif
-
- " Prepare window position restoring command:
- if (strlen(@%))
- let l:go_back = 'b ' . bufnr("%")
- else
- let l:go_back = 'enew!'
- endif
-
- " Create a new buffer & read in the plugin file (me):
- setl nomodeline
- exe 'enew!'
- exe 'r ' . l:plugin_file
-
- setl modeline
- let l:buf = bufnr("%")
- setl noswapfile modifiable
-
- norm zR
- norm gg
-
- " Delete from first line to a line starts with
- " === START_DOC
- 1,/^=\{3,}\s\+START_DOC\C/ d
-
- " Delete from a line starts with
- " === END_DOC
- " to the end of the documents:
- /^=\{3,}\s\+END_DOC\C/,$ d
-
- " Remove fold marks:
- % s/{\{3}[1-9]/ /
-
- " Add modeline for help doc: the modeline string is mangled intentionally
- " to avoid it be recognized by VIM:
- call append(line('$'), '')
- call append(line('$'), ' v' . 'im:tw=78:ts=8:ft=help:norl:')
-
- " Replace revision:
- exe "normal :1,5s/#version#/ v" . a:revision . "/\<CR>"
-
- " Save the help document:
- exe 'w! ' . l:doc_file
- exe l:go_back
- exe 'bw ' . l:buf
-
- " Build help tags:
- exe 'helptags ' . l:vim_doc_path
-
- return 1
-endfunction
-" }}}2
-
-let s:script_lines = readfile(expand("<sfile>"), "", 6)
-let s:revision=
- \ substitute(s:script_lines[5], '^" Version:\s*\|\s*$', '', '')
-" \ substitute("$Revision: 83 $",'\$\S*: \([.0-9]\+\) \$','\1','')
-silent! let s:install_status =
- \ s:XmlInstallDocumentation(expand('<sfile>:p'), s:revision)
-if (s:install_status == 1)
- echom expand("<sfile>:t:r") . '-plugin v' . s:revision .
- \ ': Help-documentation installed.'
-endif
-
-
" Mappings and Settings. {{{1
" This makes the '%' jump between the start and end of a single tag.
setlocal matchpairs+=<:>
@@ -730,247 +595,3 @@ augroup xml
augroup END
"}}}1
finish
-
-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Section: Documentation content {{{1
-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-=== START_DOC
-*xml-plugin.txt* Help edit XML and SGML documents. #version#
-
- XML Edit {{{2 ~
-
-A filetype plugin to help edit XML and SGML documents.
-
-This script provides some convenience when editing XML (and some SGML
-including HTML) formated documents. It allows you to jump to the beginning
-or end of the tag block your cursor is in. '%' will jump between '<' and '>'
-within the tag your cursor is in. When in insert mode and you finish a tag
-(pressing '>') the tag will be completed. If you press '>' twice it will
-complete the tag and place the cursor in the middle of the tags on it's own
-line (helps with nested tags).
-
-Usage: Place this file into your ftplugin directory. To add html support
-Sym-link or copy this file to html.vim in your ftplugin directory. To activte
-the script place 'filetype plugin on' in your |.vimrc| file. See |ftplugins|
-for more information on this topic.
-
-If the file edited is of type "html" and "xml_use_html" is defined then the
-following tags will not auto complete:
-<img>, <input>, <param>, <frame>, <br>, <hr>, <meta>, <link>, <base>, <area>
-
-If the file edited is of type 'html' and 'xml_use_xhtml' is defined the above
-tags will autocomplete the xml closing staying xhtml compatable.
-ex. <hr> becomes <hr /> (see |xml-plugin-settings|)
-
-NOTE: If you used the VIM 5.x version of this file (xmledit.vim) you'll need
-to comment out the section where you called it. It is no longer used in the
-VIM 6.x version.
-
-Known Bugs {{{2 ~
-
-- This script will modify registers ". and "x; register "" will be restored.
-- < & > marks inside of a CDATA section are interpreted as actual XML tags
- even if unmatched.
-- Although the script can handle leading spaces such as < tag></ tag> it is
- illegal XML syntax and considered very bad form.
-- Placing a literal `>' in an attribute value will auto complete dispite that
- the start tag isn't finished. This is poor XML anyway you should use
- &gt; instead.
-- The matching algorithm can handle illegal tag characters where as the tag
- completion algorithm can not.
-
-------------------------------------------------------------------------------
- *xml-plugin-mappings*
-Mappings {{{2 ~
-
-<LocalLeader> is a setting in VIM that depicts a prefix for scripts and
-plugins to use. By default this is the backslash key `\'. See |mapleader|
-for details.
-
-<LocalLeader><Space>
- Normal or Insert - Continue editing after the ending tag. This
- option requires xml_jump_string to be set to function. When a tag
- is completed it will append the xml_jump_string. Once this mapping
- is ran it will delete the next xml_jump_string pattern to the right
- of the curser and delete it leaving you in insert mode to continue
- editing.
-
-<LocalLeader>w
- Normal - Will clear the entire file of left over xml_jump_string garbage.
- * This will also happen automatically when you save the file. *
-
-<LocalLeader>x
- Visual - Place a custom XML tag to suround the selected text. You
- need to have selected text in visual mode before you can use this
- mapping. See |visual-mode| for details.
-
-<LocalLeader>. or <LocalLeader>>
- Insert - Place a literal '>' without parsing tag.
-
-<LocalLeader>5 or <LocalLeader>%
- Normal or Visual - Jump to the begining or end tag.
-
-<LocalLeader>d
- Normal - Deletes the surrounding tags from the cursor. >
- <tag1>outter <tag2>inner text</tag2> text</tag1>
- ^
-< Turns to: >
- outter <tag2>inner text</tag2> text
- ^
-<
-
-------------------------------------------------------------------------------
- *xml-plugin-settings*
-Options {{{2 ~
-
-(All options must be placed in your |.vimrc| prior to the |ftplugin|
-command.)
-
-xml_tag_completion_map
- Use this setting to change the default mapping to auto complete a
- tag. By default typing a literal `>' will cause the tag your editing
- to auto complete; pressing twice will auto nest the tag. By using
- this setting the `>' will be a literal `>' and you must use the new
- mapping to perform auto completion and auto nesting. For example if
- you wanted Control-L to perform auto completion inmstead of typing a
- `>' place the following into your .vimrc: >
- let xml_tag_completion_map = "<C-l>"
-<
-xml_tag_syntax_prefixes
- Sets a pattern that is used to distinguish XML syntax elements that
- identify xml tags. By defult the value is 'html\|xml\|docbk'. This
- means that all syntax items that start with "html", "xml" or "docbk" are
- treated as XML tags. In case a completion is triggered after a syntax
- element that does not match this pattern the end tag will not be inserted.
- The pattern should match at the beginning of a syntax element name.
- If you edit XSLT files you probably want to add "xsl" to the list (note
- the signle quotes): >
- let xml_tag_syntax_prefixes = 'html\|xml\|xsl\|docbk'
-<
-xml_no_auto_nesting
- This turns off the auto nesting feature. After a completion is made
- and another `>' is typed xml-edit automatically will break the tag
- accross multiple lines and indent the curser to make creating nested
- tqags easier. This feature turns it off. Enter the following in your
- .vimrc: >
- let xml_no_auto_nesting = 1
-<
-xml_use_xhtml
- When editing HTML this will auto close the short tags to make valid
- XML like <hr /> and <br />. Enter the following in your vimrc to
- turn this option on: >
- let xml_use_xhtml = 1
-<
-xml_no_html
- This turns off the support for HTML specific tags. Place this in your
- .vimrc: >
- let xml_no_html = 1
-<
-xml_jump_string
- This turns off the support for continuing edits after an ending tag.
- xml_jump_string can be any string how ever a simple character will
- suffice. Pick a character or small string that is unique and will
- not interfer with your normal editing. See the <LocalLeader>Space
- mapping for more.
- .vimrc: >
- let xml_jump_string = "`"
-<
-------------------------------------------------------------------------------
- *xml-plugin-callbacks*
-Callback Functions {{{2 ~
-
-A callback function is a function used to customize features on a per tag
-basis. For example say you wish to have a default set of attributs when you
-type an empty tag like this:
- You type: <tag>
- You get: <tag default="attributes"></tag>
-
-This is for any script programmers who wish to add xml-plugin support to
-there own filetype plugins.
-
-Callback functions recive one attribute variable which is the tag name. The
-all must return either a string or the number zero. If it returns a string
-the plugin will place the string in the proper location. If it is a zero the
-plugin will ignore and continue as if no callback existed.
-
-The following are implemented callback functions:
-
-HtmlAttribCallback
- This is used to add default attributes to html tag. It is intended
- for HTML files only.
-
-XmlAttribCallback
- This is a generic callback for xml tags intended to add attributes.
-
- *xml-plugin-html*
-Callback Example {{{2 ~
-
-The following is an example of using XmlAttribCallback in your .vimrc
->
- function XmlAttribCallback (xml_tag)
- if a:xml_tag ==? "my-xml-tag"
- return "attributes=\"my xml attributes\""
- else
- return 0
- endif
- endfunction
-<
-The following is a sample html.vim file type plugin you could use:
->
- " Vim script file vim600:fdm=marker:
- " FileType: HTML
- " Maintainer: Devin Weaver <vim (at) tritarget.com>
- " Location: http://www.vim.org/scripts/script.php?script_id=301
-
- " This is a wrapper script to add extra html support to xml documents.
- " Original script can be seen in xml-plugin documentation.
-
- " Only do this when not done yet for this buffer
- if exists("b:did_ftplugin")
- finish
- endif
- " Don't set 'b:did_ftplugin = 1' because that is xml.vim's responsability.
-
- let b:html_mode = 1
-
- if !exists("*HtmlAttribCallback")
- function HtmlAttribCallback( xml_tag )
- if a:xml_tag ==? "table"
- return "cellpadding=\"0\" cellspacing=\"0\" border=\"0\""
- elseif a:xml_tag ==? "link"
- return "href=\"/site.css\" rel=\"StyleSheet\" type=\"text/css\""
- elseif a:xml_tag ==? "body"
- return "bgcolor=\"white\""
- elseif a:xml_tag ==? "frame"
- return "name=\"NAME\" src=\"/\" scrolling=\"auto\" noresize"
- elseif a:xml_tag ==? "frameset"
- return "rows=\"0,*\" cols=\"*,0\" border=\"0\""
- elseif a:xml_tag ==? "img"
- return "src=\"\" width=\"0\" height=\"0\" border=\"0\" alt=\"\""
- elseif a:xml_tag ==? "a"
- if has("browse")
- " Look up a file to fill the href. Used in local relative file
- " links. typeing your own href before closing the tag with `>'
- " will override this.
- let cwd = getcwd()
- let cwd = substitute (cwd, "\\", "/", "g")
- let href = browse (0, "Link to href...", getcwd(), "")
- let href = substitute (href, cwd . "/", "", "")
- let href = substitute (href, " ", "%20", "g")
- else
- let href = ""
- endif
- return "href=\"" . href . "\""
- else
- return 0
- endif
- endfunction
- endif
-
- " On to loading xml.vim
- runtime ftplugin/xml.vim
-<
-=== END_DOC
-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" vim: set tabstop=8 shiftwidth=4 softtabstop=4 smartindent
-" vim600: set foldmethod=marker smarttab fileencoding=iso-8859-15
Please sign in to comment.
Something went wrong with that request. Please try again.