diff options
Diffstat (limited to 'runtime/doc/pi_spec.txt')
-rw-r--r-- | runtime/doc/pi_spec.txt | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/runtime/doc/pi_spec.txt b/runtime/doc/pi_spec.txt new file mode 100644 index 0000000..27d60b8 --- /dev/null +++ b/runtime/doc/pi_spec.txt @@ -0,0 +1,111 @@ +*pi_spec.txt* For Vim version 9.0. Last change: 2006 Apr 24 + +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 +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 +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 +your maplocalleader key (default is '\') plus 'c'. If you do not have +|spec_chglog_format| set, the plugin will ask you for an email address +to use in this edit session. + +Every time you run the plugin, it will check to see if the last entry in the +changelog has been written today and by you. If the entry matches, it will +just insert a new changelog item, otherwise it will create a new changelog +entry. If you are running with |spec_chglog_release_info| enabled, it will +also check if the name, version and release matches. The plugin is smart +enough to ask you if it should 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 +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 +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* +----------------- + +You can easily customize how your spec file entry will look like. To do +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>" + +Note that "%a %b %d %Y" is the most used time format. If you don't provide +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| +variable for you. This way, you will only need to provide your email +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 +not the entry itself) after the existing ones. If you set the +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 +on each changelog entry. One advantage of turning this feature on is +that it may control if the release has been updated after the last +change in the package or not. If you have not updated the package +version or release, it will ask you if it should update the package +release for you. To turn this feature on, just insert the following +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:noet:ft=help:norl: |