sunaku / vim-dasht

:information_desk_person: (Neo)Vim plugin for dasht integration

Home Page:https://github.com/sunaku/dasht

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dasht.vim

A (Neo)Vim plugin for dasht integration:

  • Search docsets for something you type:

    " search related docsets
    nnoremap <Leader>k :Dasht<Space>
    
    " search ALL the docsets
    nnoremap <Leader><Leader>k :Dasht!<Space>
  • Search docsets for words under cursor:

    " search related docsets
    nnoremap <silent> <Leader>K :call Dasht(dasht#cursor_search_terms())<Return>
    
    " search ALL the docsets
    nnoremap <silent> <Leader><Leader>K :call Dasht(dasht#cursor_search_terms(), '!')<Return>
  • Search docsets for your selected text:

    " search related docsets
    vnoremap <silent> <Leader>K y:<C-U>call Dasht(getreg(0))<Return>
    
    " search ALL the docsets
    vnoremap <silent> <Leader><Leader>K y:<C-U>call Dasht(getreg(0), '!')<Return>
  • Specify related docsets for searching:

    let g:dasht_filetype_docsets = {} " filetype => list of docset name regexp
    
    " For example: {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
    
      " When in Elixir, also search Erlang:
      let g:dasht_filetype_docsets['elixir'] = ['elixir', 'erlang']
    
      " When in C++, also search C, Boost, and OpenGL:
      let g:dasht_filetype_docsets['cpp'] = ['cpp', '^c$', 'boost', 'OpenGL']
    
      " When in Python, also search NumPy, SciPy, and Pandas:
      let g:dasht_filetype_docsets['python'] = ['python', '(num|sci)py', 'pandas']
    
      " When in HTML, also search CSS, JavaScript, Bootstrap, and jQuery:
      let g:dasht_filetype_docsets['html'] = ['html', 'css', 'js', 'bootstrap']
    
      " When in Java, search Java SE11, but not JavaScript:
      let g:dasht_filetype_docsets['java'] = ['java_se11']
    
    " and so on... }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  • Configure where results are displayed:

    " create window below current one (default)
    let g:dasht_results_window = 'new'
    
    " create window beside current one
    let g:dasht_results_window = 'vnew'
    
    " use current window to show results
    let g:dasht_results_window = 'enew'
    
    " create panel at left-most edge
    let g:dasht_results_window = 'topleft vnew'
    
    " create panel at right-most edge
    let g:dasht_results_window = 'botright vnew'
    
    " create new tab beside current one
    let g:dasht_results_window = 'tabnew'

Testing

Developers can run the vim-vspec tests:

gem install bundler         # first time
bundle install              # first time
bundle exec vim-flavor test # every time

License

Like my work? πŸ‘ Please spare a life today as thanks! πŸ„πŸ–πŸ‘πŸ”πŸ£πŸŸβœ¨πŸ™ŠβœŒ
Why? For πŸ’• ethics, the 🌎 environment, and πŸ’ͺ health; see link above. πŸ™‡

Copyright 2016 Suraj N. Kurapati https://github.com/sunaku

Distributed under the same terms as Vim itself.

About

:information_desk_person: (Neo)Vim plugin for dasht integration

https://github.com/sunaku/dasht


Languages

Language:Vim Script 99.7%Language:Ruby 0.3%