Remove processing of plist

This commit is contained in:
José Otávio Rizzatti
2014-05-03 17:12:22 -04:00
parent ad84ebc112
commit e9b26cf5aa
5 changed files with 0 additions and 156 deletions

View File

@@ -34,10 +34,6 @@ function! s:check_for_dash()
call s:dummy()
endfunction
function! dash#settings(...)
call s:dummy()
endfunction
finish
endfunction
"}}}
@@ -109,27 +105,12 @@ function! dash#search(bang, ...) "{{{
call add(keywords, keyword)
endif
endif
call filter(keywords, 'index(s:cache.keywords(), v:val) != -1')
call s:search(term, keywords)
endfunction
"}}}
function! dash#settings() "{{{
redraw
for profile in s:cache.profiles
let docsets = join(map(copy(profile.docsets), "v:val.name"), ', ')
echo 'Profile: ' . profile.name . '; Keyword: ' . profile.keyword .
\ '; Docsets: ' . docsets
endfor
for docset in s:cache.docsets
echo 'Docset: ' . docset.name . '; Keyword: ' . docset.keyword()
endfor
endfunction
"}}}
function! s:add_buffer_keywords(keyword_list) "{{{
let keywords = map(copy(a:keyword_list), 'get(s:aliases, v:val, v:val)')
call filter(keywords, 'index(s:cache.keywords(), v:val) != -1')
if exists('b:dash_keywords')
call extend(b:dash_keywords, keywords)
return

View File

@@ -2,72 +2,15 @@
" Author: José Otávio Rizzatti <zehrizzatti@gmail.com>
" License: MIT
let s:docset = dash#docset#class
let s:plist = funcoo#plist#module
let s:profile = dash#profile#class
let s:class = funcoo#object#class.extend()
let s:proto = {}
function! s:proto.constructor() dict abort "{{{
call self._createDocsetList()
call self._createDocsetPathMap()
call self._createProfileList()
let self._keywords = []
endfunction
"}}}
function! s:proto._createDocsetList() dict abort "{{{
let docsetList = eval(s:plist.read('com.kapeli.dash docsets'))
let docsets = []
for docset in docsetList
call add(docsets, s:docset.new(docset))
endfor
try
call sort(docsets, s:docset.sort, s:docset)
catch /^Vim\%((\a\+)\)\=:E118/
endtry
let self.docsets = docsets
endfunction
"}}}
function! s:proto._createDocsetPathMap() dict abort "{{{
let paths = {}
for docset in self.docsets
let paths[docset.path] = docset
endfor
let self._pathMap = paths
endfunction
"}}}
function! s:proto._createProfileList() dict abort "{{{
let profileList = eval(s:plist.read('com.kapeli.dash profiles'))
let profiles = []
for profile in profileList
let triggers = get(profile, 'triggers', [])
if !empty(triggers)
for trigger in triggers
if get(trigger, 'isKeywordTrigger')
break
endif
endfor
let keyword = get(trigger, 'keyword', '')
let name = get(profile, 'name', 'No name')
let docsets = map(get(profile, 'docsets', []), 'self._pathMap[v:val]')
call add(profiles, s:profile.new(name, keyword, docsets))
endif
endfor
let self.profiles = profiles
endfunction
"}}}
function! s:proto.keywords() dict abort "{{{
if !empty(self._keywords)
return self._keywords
endif
call extend(self._keywords, map(copy(self.profiles), "v:val.keyword"))
call extend(self._keywords, map(copy(self.docsets), "v:val.keyword()"))
call sort(self._keywords)
return self._keywords
endfunction
"}}}

View File

@@ -1,53 +0,0 @@
" Description: Search Dash.app from Vim
" Author: José Otávio Rizzatti <zehrizzatti@gmail.com>
" License: MIT
let s:class = funcoo#object#class.extend()
function! s:class.sort(left, right) dict abort "{{{
if a:left.name == a:right.name
return 0
endif
return a:left.name > a:right.name ? 1 : -1
endfunction
"}}}
let s:proto = {}
let s:special_cases = {
\ "Python 2:python" : 'python2',
\ "Python 3:python" : 'python3',
\ "Java SE7:java" : 'java7',
\ "Java SE6:java" : 'java6',
\ "Qt 5:qt" : 'qt5',
\ "Qt 4:qt" : 'qt4',
\ "Cocos3D:cocos2d" : 'cocos3d'
\ }
function! s:proto.constructor(dict) dict abort "{{{
let self.name = get(a:dict, 'docsetName', 'No name')
let self.path = get(a:dict, 'docsetPath', '')
let self._platform = get(a:dict, 'platform', '')
let self._keyword = substitute(get(a:dict, 'keyword', ''), ':', '', '')
call self._handleSpecialCases()
endfunction
"}}}
function! s:proto._handleSpecialCases() dict abort "{{{
if !empty(self._keyword)
return
endif
let key = join([self.name, self._platform], ':')
let self._keyword = get(s:special_cases, key, '')
endfunction
"}}}
function! s:proto.keyword() dict abort "{{{
let value = empty(self._keyword) ? self._platform : self._keyword
return tolower(value)
endfunction
"}}}
call s:class.include(s:proto)
let dash#docset#class = s:class

View File

@@ -1,17 +0,0 @@
" Description: Search Dash.app from Vim
" Author: José Otávio Rizzatti <zehrizzatti@gmail.com>
" License: MIT
let s:class = funcoo#object#class.extend()
let s:proto = {}
function! s:proto.constructor(name, keyword, docsets) dict abort "{{{
let self.name = a:name
let self.keyword = tolower(substitute(a:keyword, ':', '', ''))
let self.docsets = a:docsets
endfunction
"}}}
call s:class.include(s:proto)
let dash#profile#class = s:class

View File

@@ -53,16 +53,6 @@ else
endif
"}}}
"{{{ DashSettings command
if exists(':DashSettings') == 2
echohl WarningMsg
echomsg 'dash.vim: could not create command DashSettings'
echohl None
else
command -nargs=0 DashSettings call dash#settings()
endif
"}}}
if !exists('g:dash_autocommands')
let g:dash_autocommands = 1
call dash#autocommands()