0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00
vim/runtime/doc/pi_spec.txt

112 lines
4.0 KiB
Plaintext
Raw Normal View History

2005-04-15 21:13:42 +00:00
*pi_spec.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
2004-06-13 20:20:40 +00:00
by Gustavo Niemeyer ~
This is a filetype plugin to work with rpm spec files.
Currently, this Vim plugin allows you to easily update the %changelog
2005-04-15 21:13:42 +00:00
section in RPM spec files. It will even create a section for you if it
doesn't exist yet. If you've already inserted an entry today, it will
give you the opportunity to just add a new item in today's entry. If you
2004-06-13 20:20:40 +00:00
don't provide a format string (|spec_chglog_format|), it'll ask you an
email address and build a format string by itself.
1. How to use it |spec-how-to-use-it|
2. Customizing |spec-customizing|
==============================================================================
1. How to use it *spec-how-to-use-it*
The spec_chglog plugin provides a map like the following:
:map <buffer> <LocalLeader>c <Plug>SpecChangelog
It means that you may run the plugin inside a spec file by pressing
2005-04-15 21:13:42 +00:00
your maplocalleader key (default is '\') plus 'c'. If you do not have
2004-06-13 20:20:40 +00:00
|spec_chglog_format| set, the plugin will ask you for an email address
to use in this edit session.
Everytime you run the plugin, it will check to see if the last entry
2005-04-15 21:13:42 +00:00
in the changelog has been written today and by you. If it's the entry
2004-06-13 20:20:40 +00:00
mathes, it will just insert a new changelog item, otherwise it will
2005-04-15 21:13:42 +00:00
create a new changelog entry. If you are running with
2004-06-13 20:20:40 +00:00
|spec_chglog_release_info| enabled, it will also check if the name, version
2005-04-15 21:13:42 +00:00
and release matches. The plugin is smart enough to ask you if it should
2004-06-13 20:20:40 +00:00
update the package release, if you have not done so.
Setting a map *spec-setting-a-map*
-------------
As you should know, you can easily set a map to access any Vim command (or
2005-04-15 21:13:42 +00:00
anything, for that matter). If you don't like the default map of
<LocalLeader>c, you may just set up your own key. The following line
2004-06-13 20:20:40 +00:00
shows you how you could do this in your .vimrc file, mapping the plugin to
the <F5> key:
au FileType spec map <buffer> <F5> <Plug>SpecChangelog
Note: the plugin will respect your desire to change the default mapping
and won't set it.
This command will add a map only in the spec file buffers.
==============================================================================
2. Customizing *spec-customizing*
The format string *spec_chglog_format*
-----------------
2005-04-15 21:13:42 +00:00
You can easily customize how your spec file entry will look like. To do
2004-06-13 20:20:40 +00:00
this just set the variable "spec_chglog_format" in your .vimrc file like
this: >
let spec_chglog_format = "%a %b %d %Y My Name <my@email.com>"
2005-04-15 21:13:42 +00:00
Note that "%a %b %d %Y" is the most used time format. If you don't provide
2004-06-13 20:20:40 +00:00
a format string, when you run the SpecChangelog command for the first
time, it will ask you an email address and build the |spec_chglog_format|
2005-04-15 21:13:42 +00:00
variable for you. This way, you will only need to provide your email
2004-06-13 20:20:40 +00:00
address once.
To discover which format options you can use, take a look at the strftime()
function man page.
Where to insert new items *spec_chglog_prepend*
-------------------------
The plugin will usually insert new %changelog entry items (note that it's
2005-04-15 21:13:42 +00:00
not the entry itself) after the existing ones. If you set the
2004-06-13 20:20:40 +00:00
spec_chglog_prepend variable >
let spec_chglog_prepend = 1
it will insert new items before the existing ones.
Inserting release info *spec_chglog_release_info*
----------------------
If you want, the plugin may automatically insert release information
2005-04-15 21:13:42 +00:00
on each changelog entry. One advantage of turning this feature on is
2004-06-13 20:20:40 +00:00
that it may control if the release has been updated after the last
2005-04-15 21:13:42 +00:00
change in the package or not. If you have not updated the package
2004-06-13 20:20:40 +00:00
version or release, it will ask you if it should update the package
2005-04-15 21:13:42 +00:00
release for you. To turn this feature on, just insert the following
2004-06-13 20:20:40 +00:00
code in your .vimrc: >
let spec_chglog_release_info = 1
Then, the first item in your changelog entry will be something like: >
+ name-1.0-1cl
If you don't like the release updating feature and don't want to answer
"No" each time it detects an old release, you may disable it with >
let spec_chglog_never_increase_release = 1
Good luck!!
vim:tw=78:ts=8:ft=help:norl: