mirror of https://github.com/akelge/vim
512 lines
21 KiB
VimL
512 lines
21 KiB
VimL
" Trac client: A interface to a Trac Wiki Repository
|
|
"
|
|
" Script Info and Documentation {{{
|
|
"=============================================================================
|
|
" Copyright: Copyright (C) 2008 Michael Brown
|
|
" License: The MIT License
|
|
"
|
|
" Permission is hereby granted, free of charge, to any person obtaining
|
|
" a copy of this software and associated documentation files
|
|
" (the "Software"), to deal in the Software without restriction,
|
|
" including without limitation the rights to use, copy, modify,
|
|
" merge, publish, distribute, sublicense, and/or sell copies of the
|
|
" Software, and to permit persons to whom the Software is furnished
|
|
" to do so, subject to the following conditions:
|
|
"
|
|
" The above copyright notice and this permission notice shall be included
|
|
" in all copies or substantial portions of the Software.
|
|
"
|
|
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
" Name Of File: trac.vim , trac.py
|
|
" Description: Wiki Client to the Trac Project Manager (trac.edgewall.org)
|
|
" Maintainer: Michael Brown <michael <at> ascetinteractive.com>
|
|
" Contributors: Brad Fritz
|
|
" Last Change:
|
|
" URL:
|
|
" Version: 0.3.6
|
|
"
|
|
" Usage:
|
|
"
|
|
" You must have a working Trac repository version 0.10 or later
|
|
" complete with the xmlrpc plugin and a user with suitable
|
|
" access rights.
|
|
"
|
|
" To use the summary view you need to have the Align plugin
|
|
" installed for the layout.
|
|
"
|
|
" http://www.vim.org/scripts/script.php?script_id=294
|
|
"
|
|
" Fill in the server login details in the config section below.
|
|
"
|
|
" Defatult key mappings:
|
|
"
|
|
" <leader>to : Opens the Trac wiki view
|
|
" <leader>tq : Closes the Trac wiki View
|
|
" <leader>tw : Writes the Current Wiki Page (Uses default update
|
|
" Comment)
|
|
"
|
|
" or
|
|
"
|
|
" :TServer <server name - Sets the current trac Server
|
|
" (use tab complete)
|
|
" :TClose - Close VimTrac to the normal View
|
|
"
|
|
" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
"
|
|
" Trac Wiki Commands
|
|
"
|
|
" :TWOpen <WikiPage> - Open the wiki View
|
|
" :TWSave "<Comment>" - Saves the Active Wiki Page
|
|
"
|
|
" In the Wiki TOC View Pages can be loaded by hitting <enter>
|
|
"
|
|
" In the Wiki View Window a Page Will go to the wiki page if
|
|
" you hit ctrl+] but will throw an error if you arent on a
|
|
" proper link.
|
|
"
|
|
" Wikis can now be saved with :w and :wq.
|
|
" In all Trac windows :q will return to the normal view
|
|
"
|
|
" Wiki Syntax will work with this wiki syntax file
|
|
" http://www.vim.org/scripts/script.php?script_id=725
|
|
"
|
|
" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
"
|
|
" Trac Ticket Commands
|
|
"
|
|
" :TTOpen <Ticket ID> - Open Trac Ticket Browser
|
|
"
|
|
" Trac current ticket option modifications (use tab complete)
|
|
"
|
|
" :TTSetMilestone <Milestone>
|
|
" :TTSetType <Type
|
|
" :TTSetStatus <Status>
|
|
" :TTSetResolution <Resolution>
|
|
" :TTSetPriority <Priority >
|
|
" :TTSetSeverity <Severity >
|
|
" :TTSetComponent <Component>
|
|
" :TTSetSummary <Summary >
|
|
"
|
|
"
|
|
" :TTAddComment - Add the comment to the current
|
|
" ticket
|
|
"
|
|
"
|
|
" In the Ticket List window j and k jump to next ticket
|
|
" enter will select a ticket if it is hovering over a number
|
|
"
|
|
" Bugs:
|
|
"
|
|
" Ocassionally when a wiki page/ticket is loaded it will throw an error.
|
|
" Just try and load it again
|
|
"
|
|
" Please log any issues at http://www.ascetinteractive.com.au/vimtrac
|
|
"
|
|
" To Do:
|
|
" - Complete Error handling for missing Files/Trac Error States
|
|
" - Add a new Wiki Page Option
|
|
" - Improve the toc scrolling (highlight current line)
|
|
" - Improve Ticket Viewing option
|
|
" - Add support for multiple trac servers
|
|
"
|
|
"}}}
|
|
"Configuration
|
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
" Load trac.py either from the runtime directory (usually
|
|
" /usr/local/share/vim/vim71/plugin/ if you're running Vim 7.1) or from the
|
|
" home vim directory (usually ~/.vim/plugin/).
|
|
"
|
|
if g:tracServerList == {}
|
|
finish
|
|
endif
|
|
|
|
if !has("python")
|
|
call confirm('Trac.vim needs vim python 2.4.4 support. Wont load', 'OK')
|
|
finish
|
|
endif
|
|
|
|
if filereadable($VIMRUNTIME."/plugin/trac.py")
|
|
pyfile $VIMRUNTIME/plugin/trac.py
|
|
elseif filereadable($HOME."/.vim/plugin/trac.py")
|
|
pyfile $HOME/.vim/plugin/trac.py
|
|
else
|
|
call confirm('trac.vim: Unable to find trac.py. Place it in either your home vim directory or in the Vim runtime directory.', 'OK')
|
|
finish
|
|
endif
|
|
|
|
python import sys
|
|
python if sys.version_info[:3] < (2,4,4):vim.command('let g:tracPythonVersionFlag = 1')
|
|
|
|
if exists('g:tracPythonVersionFlag')
|
|
call confirm ( "Trac.vim requires python 2.4.4 or later to work correctly" )
|
|
finish
|
|
endif
|
|
|
|
if !exists('g:tracDefaultComment')
|
|
let g:tracDefaultComment = 'VimTrac update' " DEFAULT COMMENT CHANGE
|
|
endif
|
|
|
|
if !exists('g:tracHideTracWiki')
|
|
let g:tracHideTracWiki = 'yes' " SET TO yes/no IF YOU WANT TO HIDE
|
|
" ALL THE INTERNAL TRAC WIKI PAGES (^Wiki*/^Trac*)
|
|
endif
|
|
|
|
if !exists('g:tracTempHtml')
|
|
let g:tracTempHtml = '/tmp/trac_wiki.html'
|
|
endif
|
|
|
|
if !exists('g:tracSessionDirectory')
|
|
let g:tracSessionDirectory = expand ('$HOME') . '/.vimtrac_session'
|
|
endif
|
|
|
|
if !exists('g:tracBrowser')
|
|
let g:tracBrowser = 'lynx' " For Setting up Browser view (terminal)
|
|
"let g:tracBrowser = 'firefox' " For Setting up Browser view (linux gui - not tested)
|
|
"let g:tracBrowser = '"C:\Program Files\Mozilla Firefox\firefox.exe"' "GVim on Windows not tested
|
|
endif
|
|
|
|
if !exists('g:tracServerList')
|
|
|
|
let g:tracServerList = {}
|
|
|
|
"Add Server Repositories as Dictionary entries
|
|
let g:tracServerList['Vim Trac'] = 'http://vimtracuser:wibble@www.ascetinteractive.com.au/vimtrac/login/xmlrpc'
|
|
let g:tracServerList['(ServerName)'] = 'http://(User):(Pass)@(ServerPath)/login/xmlrpc'
|
|
|
|
endif
|
|
|
|
"This can be modified to speed up queries
|
|
if !exists('g:tracTicketClause')
|
|
let g:tracTicketClause = 'status!=closed'
|
|
endif
|
|
|
|
"Set this to 1 if you wan the ticket view to ignore attribute changes which
|
|
"can clutter up the view
|
|
"
|
|
if !exists('g:tracTicketBriefDescription')
|
|
let g:tracTicketBriefDescription = 1
|
|
endif
|
|
|
|
|
|
"Layouts can be modified here
|
|
if !exists('g:tracWikiStyle')
|
|
let g:tracWikiStyle = 'full' " 'bottom' 'top' 'full'
|
|
endif
|
|
if !exists('g:tracSearchStyle')
|
|
let g:tracSearchStyle = 'left' " 'right'
|
|
endif
|
|
if !exists('g:tracTimelineStyle')
|
|
let g:tracTimelineStyle = 'bottom' " 'left' 'right'
|
|
endif
|
|
" Ticket view styles note the summary style needs the Align plugin
|
|
if !exists('g:tracTicketStyle')
|
|
let g:tracTicketStyle = 'summary' " 'full' 'top' 'left' 'right' 'full'
|
|
endif
|
|
|
|
"Leader Short CUTS (Uncomment or add and customise to yout vimrc)
|
|
"Open Wiki
|
|
" map <leader>to :TWOpen<cr>
|
|
" Save Wiki
|
|
" map <leader>tw :TWSave<cr>
|
|
" Close wiki/ticket view
|
|
" map <leader>tq :TClose<cr>
|
|
" resize
|
|
" map <leader>tt :python trac_window_resize()<cr>
|
|
" preview window
|
|
" map <leader>tp :python trac_preview()<cr>
|
|
"
|
|
" map <leader>tp :python trac.ticket.summary_view()<cr>
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
"End Configuration
|
|
|
|
"
|
|
"
|
|
|
|
|
|
"Commmand Declarations
|
|
"
|
|
"NOTE: Due to the command list increasing as of version 0.3 of the plugin several command names
|
|
"have been renamed. The ':Trac' command prefix has been cut down to :T and the first inital of
|
|
"the module eg :TW... for TracWiki commands :TT... for Trac ticket commands
|
|
"
|
|
"The trac.py file no longer references these commands directly so you are free
|
|
"to change them if they clash with another plugin.
|
|
"
|
|
"WIKI MODULE COMMANDS
|
|
|
|
let g:tracDefaultView = 'wiki' " 'ticket' 'timeline'
|
|
com! -nargs=+ -complete=customlist,ComTracServers TWServer python trac.set_current_server (<q-args>)
|
|
com! -nargs=+ -complete=customlist,ComTracServers TTServer python trac.set_current_server (<q-args>, False, 'ticket')
|
|
com! -nargs=+ -complete=customlist,ComTracServers TTLServer python trac.set_current_server (<q-args>, False ,'timeline')
|
|
|
|
"QuickTicket Option (modify this command for your own servers) - Note Ticket #12
|
|
com! -nargs=+ TQTaskOnVimTrac python trac.ticket.create(<q-args> , 'task' , 'Vim Trac')
|
|
com! -nargs=+ TQDefectOnVimTrac python trac.ticket.create(<q-args> , 'defect' , 'Vim Trac')
|
|
com! -nargs=+ TQEnhanceOnVimTrac python trac.ticket.create(<q-args> , 'enhancement' , 'Vim Trac')
|
|
|
|
com! -nargs=? -complete=customlist,ComWiki TWOpen python trac.wiki_view (<f-args>)
|
|
|
|
fun LoadWikiCommands()
|
|
"NOTE: TWSave is referenced in trac.py
|
|
com! -nargs=* TWSave python trac.wiki.save(<q-args>)
|
|
com! -nargs=? TWCreate python trac.wiki_view (<f-args>, True)
|
|
com! -nargs=? -complete=customlist,ComAttachments TWGetAttachment python trac.get_attachment (<f-args>)
|
|
com! -nargs=? -complete=file TWAddAttachment python trac.add_attachment(<f-args>)
|
|
"HTML Preview/Dumps
|
|
com! -nargs=0 TWPreview python trac.preview(False)
|
|
com! -nargs=0 TWDump python trac.preview(True)
|
|
com! -nargs=? TWVimDiff python trac.wiki.vim_diff(<f-args>)
|
|
endfun
|
|
|
|
fun UnloadWikiCommands()
|
|
try
|
|
delc TWSave
|
|
delc TWCreate
|
|
delc TWGetAttachment
|
|
delc TWAddAttachment
|
|
delc TWPreview
|
|
delc TWDump
|
|
delc TWVimDiff
|
|
endtry
|
|
endfun
|
|
|
|
|
|
"TICKET MODULE COMMANDS
|
|
com! -nargs=? TTOpen python trac.ticket_view (<f-args>)
|
|
|
|
fun LoadTicketCommands()
|
|
"Trac Ticket modifications
|
|
com! -nargs=+ TTCreateTask python trac.ticket.create(<q-args>, 'task')
|
|
com! -nargs=+ TTCreateDefect python trac.ticket.create(<q-args>, 'defect')
|
|
com! -nargs=+ TTCreateEnhancement python trac.ticket.create(<q-args>, 'enhancement')
|
|
|
|
com! -nargs=0 TTAddComment python trac.ticket.add_comment()
|
|
"Ticket Attributes
|
|
com! -nargs=? -complete=customlist,ComMilestone TTSetMilestone python trac.ticket.set_attr(<f-args>, 'milestone' )
|
|
com! -nargs=? -complete=customlist,ComType TTSetType python trac.ticket.set_attr(<f-args>, 'type' )
|
|
com! -nargs=? -complete=customlist,ComStatus TTSetStatus python trac.ticket.set_attr(<f-args>, 'status' )
|
|
com! -nargs=? -complete=customlist,ComResolution TTSetResolution python trac.ticket.set_attr(<f-args>, 'resolution' )
|
|
com! -nargs=? -complete=customlist,ComPriority TTSetPriority python trac.ticket.set_attr(<f-args>, 'priority' )
|
|
com! -nargs=? -complete=customlist,ComSeverity TTSetSeverity python trac.ticket.set_attr(<f-args>, 'severity' )
|
|
com! -nargs=? -complete=customlist,ComComponent TTSetComponent python trac.ticket.set_attr(<f-args>, 'component' )
|
|
com! -nargs=? TTSetOwner python trac.ticket.set_attr(<f-args>, 'owner' )
|
|
com! -nargs=+ TTSetSummary python trac.ticket.set_summary(<q-args>)
|
|
|
|
com! -nargs=0 TTUpdateDescrption python trac.ticket.update_description()
|
|
|
|
com! -nargs=? -complete=customlist,ComMilestone TTFilterMilestone python trac.ticket.filter.add(<f-args>, 'milestone' )
|
|
com! -nargs=? -complete=customlist,ComType TTFilterType python trac.ticket.filter.add(<f-args>, 'type' )
|
|
com! -nargs=? -complete=customlist,ComStatus TTFilterStatus python trac.ticket.filter.add(<f-args>, 'status' )
|
|
com! -nargs=? -complete=customlist,ComResolution TTFilterResolution python trac.ticket.filter.add(<f-args>, 'resolution' )
|
|
com! -nargs=? -complete=customlist,ComPriority TTFilterPriority python trac.ticket.filter.add(<f-args>, 'priority' )
|
|
com! -nargs=? -complete=customlist,ComSeverity TTFilterSeverity python trac.ticket.filter.add(<f-args>, 'severity' )
|
|
com! -nargs=? -complete=customlist,ComComponent TTFilterComponent python trac.ticket.filter.add(<f-args>, 'component' )
|
|
com! -nargs=? TTFilterOwner python trac.ticket.filter.add(<f-args>, 'owner' )
|
|
|
|
com! -nargs=? -complete=customlist,ComMilestone TTFilterNoMilestone python trac.ticket.filter.add('', 'milestone' )
|
|
com! -nargs=? TTFilterNoOwner python trac.ticket.filter.add('', 'owner' )
|
|
|
|
com! -nargs=? -complete=customlist,ComMilestone TTIgnoreMilestone python trac.ticket.filter.add(<f-args>, 'milestone' ,False)
|
|
com! -nargs=? -complete=customlist,ComType TTIgnoreType python trac.ticket.filter.add(<f-args>, 'type' ,False)
|
|
com! -nargs=? -complete=customlist,ComStatus TTIgnoreStatus python trac.ticket.filter.add(<f-args>, 'status' ,False)
|
|
com! -nargs=? -complete=customlist,ComResolution TTIgnoreResolution python trac.ticket.filter.add(<f-args>, 'resolution' ,False)
|
|
com! -nargs=? -complete=customlist,ComPriority TTIgnorePriority python trac.ticket.filter.add(<f-args>, 'priority' ,False)
|
|
com! -nargs=? -complete=customlist,ComSeverity TTIgnoreSeverity python trac.ticket.filter.add(<f-args>, 'severity' ,False)
|
|
com! -nargs=? -complete=customlist,ComComponent TTIgnoreComponent python trac.ticket.filter.add(<f-args>, 'component' ,False)
|
|
com! -nargs=? TTIgnoreOwner python trac.ticket.filter.add(<f-args>, 'owner' ,False)
|
|
|
|
com! -nargs=? -complete=customlist,ComMilestone TTIgnoreNoMilestone python trac.ticket.filter.add('', 'milestone' ,False)
|
|
com! -nargs=? TTIgnoreNoOwner python trac.ticket.filter.add('', 'owner' ,False)
|
|
|
|
com! -nargs=0 TTClearAllFilters python trac.ticket.filter.clear()
|
|
com! -nargs=* TTClearFilter python trac.ticket.filter.delete(<f-args>)
|
|
com! -nargs=* TTListFilters python trac.ticket.filter.list()
|
|
"Ticket Sorting
|
|
com! -nargs=? -complete=customlist,ComSort TTSortby python trac.ticket.sort.set_sortby(<f-args>)
|
|
|
|
"Ticket Attachments
|
|
com! -nargs=? -complete=customlist,ComAttachments TTGetAttachment python trac.get_attachment (<f-args>)
|
|
com! -nargs=? -complete=file TTAddAttachment python trac.add_attachment(<f-args>)
|
|
"Html Preview
|
|
com! -nargs=0 TTPreview python trac.preview()
|
|
|
|
com! -nargs=0 TTLoadTicketSession python trac.ticket.session_load()
|
|
com! -nargs=0 TTSaveTicketSession python trac.ticket.session_save()
|
|
|
|
com! -nargs=? -complete=customlist,ComComponent TTSaveCompSession python trac.ticket.session_component_save(<q-args>)
|
|
com! -nargs=* -complete=customlist,ComComponent TTLoadCompSession python trac.ticket.session_component_load(<q-args>)
|
|
|
|
"Ticket resolution
|
|
com! -nargs=* TTCloseTicket python trac.ticket.close_ticket(<q-args>)
|
|
com! -nargs=* TTResolveFixed python trac.ticket.resolve_ticket(<q-args>,'fixed')
|
|
com! -nargs=* TTResolveWontfix python trac.ticket.resolve_ticket(<q-args>,'wontfix')
|
|
com! -nargs=* TTResolveDuplicate python trac.ticket.resolve_ticket(<q-args>,'duplicate')
|
|
com! -nargs=* TTResolveInvalid python trac.ticket.resolve_ticket(<q-args>,'invalid')
|
|
com! -nargs=* TTResolveWorksForMe python trac.ticket.resolve_ticket(<q-args>,'worksforme')
|
|
endfun
|
|
|
|
fun UnloadTicketCommands()
|
|
"Trac Ticket modifications
|
|
try
|
|
delc TTCreateTask
|
|
delc TTCreateDefect
|
|
delc TTCreateEnhancement
|
|
delc TTAddComment
|
|
"Ticket Attributes
|
|
delc TTSetMilestone
|
|
delc TTSetStatus
|
|
delc TTSetType
|
|
delc TTSetResolution
|
|
delc TTSetPriority
|
|
delc TTSetSeverity
|
|
delc TTSetComponent
|
|
delc TTSetOwner
|
|
delc TTSetSummary
|
|
|
|
delc TTUpdateDescrption
|
|
|
|
delc TTFilterMilestone
|
|
delc TTFilterType
|
|
delc TTFilterStatus
|
|
delc TTFilterResolution
|
|
delc TTFilterPriority
|
|
delc TTFilterSeverity
|
|
delc TTFilterComponent
|
|
delc TTFilterOwner
|
|
delc TTClearFilter
|
|
delc TTClearAllFilters
|
|
|
|
delc TTSortby
|
|
|
|
delc TTIgnoreMilestone
|
|
delc TTIgnoreType
|
|
delc TTIgnoreStatus
|
|
delc TTIgnoreResolution
|
|
delc TTIgnorePriority
|
|
delc TTIgnoreSeverity
|
|
delc TTIgnoreComponent
|
|
delc TTIgnoreOwner
|
|
|
|
delc TTIgnoreNoMilestone
|
|
delc TTIgnoreNoOwner
|
|
|
|
"Ticket Attachments
|
|
delc TTGetAttachment
|
|
delc TTAddAttachment
|
|
"Html Preview
|
|
delc TTPreview
|
|
delc TTLoadTicketSession
|
|
delc TTSaveTicketSession
|
|
delc TTCloseTicket
|
|
delc TTListFilters
|
|
delc TTFilterNoMilestone
|
|
delc TTFilterNoOwner
|
|
"resolution
|
|
delc TTResolveFixed
|
|
delc TTResolveWontfix
|
|
delc TTResolveDuplicate
|
|
delc TTResolveInvalid
|
|
delc TTResolveWorksForMe
|
|
endtry
|
|
endfun
|
|
|
|
"MISCELLANEOUS
|
|
com! -nargs=+ TSearch python trac.search_view(<q-args>)
|
|
com! -nargs=1 TChangesetOpen python trac.changeset_view(<f-args>, True)
|
|
com! -nargs=0 TTimelineOpen python trac.timeline_view()
|
|
com! -nargs=0 TClose python trac.normal_view(<f-args>)
|
|
|
|
"FUNCTION COMPLETES
|
|
fun ComTracServers (A,L,P)
|
|
return filter (keys(g:tracServerList), 'v:val =~ "^'.a:A.'"')
|
|
endfun
|
|
|
|
let g:tracOptions = 1
|
|
|
|
fun ComAttachments (A,L,P)
|
|
python trac.list_attachments()
|
|
|
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
fun ComWiki (A,L,P)
|
|
python trac.wiki.get_options()
|
|
|
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
"COMMAND COMPLETES
|
|
fun ComMilestone (A,L,P)
|
|
python trac.ticket.get_options(0)
|
|
|
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
fun ComType (A,L,P)
|
|
python trac.ticket.get_options(1)
|
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
fun ComStatus (A,L,P)
|
|
python trac.ticket.get_options(2)
|
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
fun ComResolution (A,L,P)
|
|
python trac.ticket.get_options(3)
|
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
fun ComPriority (A,L,P)
|
|
python trac.ticket.get_options(4)
|
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
fun ComSeverity (A,L,P)
|
|
python trac.ticket.get_options(5)
|
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
fun ComComponent (A,L,P)
|
|
python trac.ticket.get_options(6)
|
|
return filter (split (g:tracOptions, '|' ), 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
fun ComSort (A,L,P)
|
|
return filter (['priority','milestone'], 'v:val =~ "^' . a:A . '"')
|
|
endfun
|
|
|
|
|
|
"Callback Function for Minibufexplorer et al windows that dont like being
|
|
"closed by the :only command
|
|
"TODO add other common plugins that may be affected
|
|
"see OpenCloseCallbacks in the wiki
|
|
fun TracOpenViewCallback()
|
|
try
|
|
CMiniBufExplorer
|
|
catch
|
|
return 0
|
|
endt
|
|
|
|
return 1
|
|
endfun
|
|
|
|
fun TracCloseViewCallback()
|
|
try
|
|
MiniBufExplorer
|
|
catch
|
|
return 0
|
|
endt
|
|
return 1
|
|
endfun
|
|
|
|
python trac_init()
|