laughing-hipster/Tools/vim/bundle/xmledit/README.mkd

151 lines
5.2 KiB
Markdown

xml-plugin
==========
Maintainer: Devin Weaver <suki@tritarget.org>
Source: <http://github.com/sukima/xmledit>
Homepage: <http://www.vim.org/scripts/script.php?script_id=301>
Version: 1.10.4
[![Build Status](https://travis-ci.org/sukima/xmledit.png?branch=master)](https://travis-ci.org/sukima/xmledit)
XML Edit is a file type plugin to help edit XML documents.
It includes tag completion and tag jumping.
Licence
-------
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public
License.
See <http://www.gnu.org/copyleft/gpl.txt>
Build
-----
Run the Makefile to build the vba file.
$ make
Now send it to all your friends.
Testing
-------
The test environment is in the `tests` directory. It uses RSpec and
[vimrunner](https://github.com/AndrewRadev/vimrunner). Execute the test suite:
$ bundle install
$ rake
More information about testing in vim can be found at
[this blog post](http://mudge.name/2012/04/18/testing-vim-plugins-on-travis-ci-with-rspec-and-vimrunner.html).
Install
-------
This is for users who have the xmledit.vba file.
If you do not have VIM version 7.0 or higher this will not work. Either upgrade
or deal with the shaddy old plugin which you can get at
<http://github.com/sukima/xmledit/tree/v1.84>. (Alternativly you could manually
copy the files to there proper locations however older versions of VIM will not
be supported in future development)
To install the created package open the vba file in vim and source it:
$ vim xmledit.vba
:so %
If you are installing this from the source (you don't have a .vba file) you can
skip the building of one by running the Makefile:
$ make install
Now read doc/xml-plugin.txt or type `:help xml-plugin.txt` in VIM.
** NOTE for pathogen users **
You do not need to install via any means other then to place the source in the
bundle directory. This can easily be done by cloning the [git repository][1] or
by making a [git submodule][2]. Do not attempt to use a .vba file with
pathogen.
$ git clone https://github.com/sukima/xmledit.git ~/.vim/bundle/
Or as a submodule (assuming .vim is a git repository)
$ cd ~/.vim
$ git submodule init
$ git submodule add https://github.com/sukima/xmledit.git bundle/
$ git submodule update
Using With Other File Types
---------------------------
This can be used with other file types besides XML. There are two ways to
accomplish this. The plugin can be used as is for other languages or with extra
features that are language specific via the _callback_ method.
The first method is simply to copy `xml.vim` or symbolically (or hard) link it
to the new file type. For example:
ftplugin/
|-xml.vim
|-php.vim -> xml.vim
`-xhtml.vim -> xml.vim
The second method expands on the idea of copying. It uses a callback method
which can extend the functionality of the tags for that language. For example
in an HTML document you might prefer your table tags to look like this:
<table cellpadding="0" cellspacing="0" border="0">
</table>
But by just linking `html.vim` to `xml.vim` you would have to type all that in
every time. The callback could allow you to type just `<table>` and it would
add the ` cellpadding=...` attributes for you. The example in the documentation
(`:help xml-plugin-callbacks`) shows how to do this with HTML files.
Caveats
-------
There are conflicts with the [AutoComplPop][3] script. If you get errors, add
the following to your `.vimrc` as suggested by @othree in [issue #15][4]:
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags noci
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags noci
How to contribute
-----------------
Contributions are through [Github][1] or via patches. I invite anyone
interested to feel free to modify to your hearts content. If your modifications
would be useful to others please send me a Pull Request.
I handle maintinance in the following priority:
1. Pull Requests and patches will be looked at in a much high priority then
anything else. I <3 pull requests.
2. Issue reports are taken for reference but I don't do much with them hoping
instead for a pull request or patch.
I am in need of unit tests. Anyone interested in helping please fork and add to
the `tests/spec/` directory.
Credits
-------
* Brad Phelan <bphelan@mathworks.co.uk>
for completing tag matching and visual tag completion.
* Ma, Xiangjiang <Xiangjiang.Ma@broadvision.com> for
pointing out VIM 6.0 map `<buffer>` feature.
* Luc Hermitte <hermitte@free.fr> for testing the self
install documentation code and providing good bug fixes.
* Guo-Peng Wen for the self install documentation code.
* Shawn Boles <ickybots@gmail.com> for fixing the
`<Leader>x` cancelation bug.
* Martijn van der Kwast <mvdkwast@gmx.net> for patching
problems with multi-languages (XML and PHP).
* Ilya Bobir <ilya.bobir@gmail.com> for patching
`xml_tag_syntax_pefixes` option.
* Eli L. <eli@siliconsprawl.com> for converting to the
vimball packaging format.
[1]: http://github.com/sukima/xmledit
[2]: http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html
[3]: http://www.vim.org/scripts/script.php?script_id=1879
[4]: https://github.com/sukima/xmledit/issues/15
<!-- vim:set ai et ts=8 sw=4: -->