Skip to content

Commit

Permalink
add xpt#priority
Browse files Browse the repository at this point in the history
  • Loading branch information
drmingdrmer committed Feb 1, 2015
1 parent 7f59f00 commit 694a4d6
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions autoload/xpt/priority.vim
@@ -0,0 +1,34 @@
if exists( "g:__AL_XPT_PRIORITY_f78d9s873942__" ) && g:__AL_XPT_PRIORITY_f78d9s873942__ >= XPT#ver
finish
endif
let g:__AL_XPT_PRIORITY_f78d9s873942__ = XPT#ver


let s:oldcpo = &cpo
set cpo-=< cpo+=B


let s:priorities = { 'lowest': 9999999,
\ 'all' : 64, 'spec' : 48, 'like' : 32, 'lang' : 16,
\ 'sub' : 8, 'personal' : 0,
\ 'highest': -1, }
let s:priorities.default = s:priorities.lang

fun! xpt#priority#Get( pstr ) "{{{
return s:priorities[ a:pstr ]
endfunction "}}}

fun! xpt#priority#Parse( pstr ) "{{{
let pstr = a:pstr
if pstr =~ '\V\[+-]\$'
let pstr .= '1'
endif

let reg = '\V\(\w\+\|\[+-]\)\zs'
let prioParts = split( pstr, reg )

let prioParts[ 0 ] = get( s:priorities, prioParts[ 0 ], prioParts[ 0 ] - 0 )
return eval( join( prioParts, '' ) )
endfunction "}}}

let &cpo = s:oldcpo

0 comments on commit 694a4d6

Please sign in to comment.