151 lines
5.2 KiB
Markdown
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
|
|
|
|
[](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: -->
|