diff --git a/README.md b/README.md index da9c484..a30a5a5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ![](https://github.com/ruben2020/codequery/raw/master/doc/logotitle.png) - + > Choose what you want to know! 😼 ```vim @@ -25,7 +25,7 @@ This Vim plugin is built on top of the great tool [CodeQuery](https://github.com * Support asynchronous search (Vim version >= 8.0) 2. **Manage your database easily**. * Load, make and move your database file by custom Vim commands. - * Support asynchronous build (Vim version >= 8.0 or by `Dispatch` plugin) + * Support asynchronous build (Vim version >= 8.0 or NeoVim or by `Dispatch` plugin) * `Note: CodeQuery's SQLite database is built on top of ctags and cscope.` 3. **Know your code more instantly**. * (TBD) @@ -46,11 +46,11 @@ This Vim plugin is built on top of the great tool [CodeQuery](https://github.com `Choose a query from menu ➙ Get results` -![](https://db.tt/rf6fO2eJ) +![](https://devjoe.github.io/public/cq_demo1.gif) `... ➙ Switch to different query ➙ Get results ... ➙ Filter them ➙ Get Results ➙ Undo ➙ Redo` -![](https://db.tt/KoZORec3) +![](https://devjoe.github.io/public/ca_demo2.gif) [more demo and screenshots](https://github.com/devjoe/vim-codequery/wiki/Screenshots-and-Demo) @@ -62,17 +62,19 @@ Now vim-codequery works better than what you see by using Vim8's async feature. ## Schedule -> **This project is almost ready to be released.** +> **This project is released.** > > Main TODO: > * ~~Use Vim8's new features to enhance usability.~~ > * ~~Do lazy-loading.~~ -> * Enhance usability. -> * Test it. +> * ~~Enhance usability.~~ +> * ~~Test it.~~ +> * ~~Support NeoVim at a certain level.~~ +> * Add **explain** command in v1.0.0 +> * Make UI be optional > * Doc it. > -> Completeness: 94% -> Current Version: v0.9 +> Current Version: v0.9.2 > > Welcome to try it! 👌 @@ -114,7 +116,13 @@ Plug 'tpope/vim-dispatch' " if you don't have an :Ack (or :Ag) liked command Plug 'mileszs/ack.vim' ``` - +* In case you prefer to use Vim8's native package manager to manage plugins manually. Here comes an installation guide for that: + 1. Go to `~/.vim` + 2. Run `mkdir -p pack/vim-codequery/start/` and then go to `start` directory + 3. Run `git clone https://github.com/devjoe/vim-codequery` to get latest vim-codequery code + 4. It's done. 😎 Now `vim-codequery` will be loaded when your Vim starts. You can install [unite](https://github.com/Shougo/unite.vim) in the same way + 5. Learn more about Vim8's package system by typing `:help package | only` +  
## Usage @@ -228,7 +236,7 @@ Currently, vim-codequery only provides [Unite](https://github.com/Shougo/unite.v " [F] means this action is for 'function variable only' " [C] is for 'class variable only' ``` - + * **Magic Unite menu** @@ -237,10 +245,10 @@ Currently, vim-codequery only provides [Unite](https://github.com/Shougo/unite.v " This menu changes dynamically: " 1. If the word under your cursor begins with a capital letter (possible be class): show [C] actions -" 2. vice versa (possible be function): show [F] actions +" 2. Vice versa (possible be function): show [F] actions " 3. Show reasonable actions within Quickfix ``` - +
@@ -359,8 +367,6 @@ let g:codequery_enable_not_so_magic_menu = 1 ## How to Contribute #### Use It -> And give me [feedback](https://goo.gl/forms/9r8sOS6xTCBjNQEW2) or [bug report](https://docs.google.com/spreadsheets/d/1eSweAzJKYdzeNdTUVfhujEAOy1RHq1_bEBSX8DQ6xvA/edit?usp=sharing). - #### Fork It > And give me PR. It would be better if you open an [issue](https://github.com/devjoe/vim-codequery/issues) and discuss with me before sending PR. @@ -371,6 +377,13 @@ let g:codequery_enable_not_so_magic_menu = 1
+## Contributors +* [devjoe](https://github.com/devjoe) +* [johnzeng](https://github.com/johnzeng) +* [syslot](https://github.com/syslot) + +
+ ## Credits Thank all for working on these great projects! diff --git a/autoload/codequery.vim b/autoload/codequery.vim index 973c6ff..e267ec8 100644 --- a/autoload/codequery.vim +++ b/autoload/codequery.vim @@ -137,7 +137,13 @@ function! codequery#make_codequery_db(args) abort continue endif - if v:version >= 800 + if has('nvim') + echom 'Making DB ...' + let mydict = {'db_path': db_path, + \'callback': function("codequery#db#make_db_nvim_callback")} + let callbacks = {'on_exit': mydict.callback} + let s:build_job = jobstart(['/bin/sh', '-c', shell_cmd], callbacks) + elseif v:version >= 800 echom 'Making DB ...' let mydict = {'db_path': db_path, \'callback': function("codequery#db#make_db_callback")} diff --git a/autoload/codequery/db.vim b/autoload/codequery/db.vim index 3801e69..0534810 100644 --- a/autoload/codequery/db.vim +++ b/autoload/codequery/db.vim @@ -41,6 +41,11 @@ function! codequery#db#make_db_callback(job, status) dict endfunction +function! codequery#db#make_db_nvim_callback(job, data, status) dict + echom 'Done! Built codequery db!' +endfunction + + function! codequery#db#construct_python_db_build_cmd(db_path) abort let find_cmd = 'find . -iname "*.py" > python_cscope.files' let pycscope_cmd = 'pycscope -f "python_cscope.out" -i python_cscope.files' diff --git a/autoload/codequery/query.vim b/autoload/codequery/query.vim index 7c8cf24..c144719 100644 --- a/autoload/codequery/query.vim +++ b/autoload/codequery/query.vim @@ -197,7 +197,7 @@ function! codequery#query#do_query(word) abort return endif - if v:version >= 800 + if v:version >= 800 && !has('nvim') echom 'Searching ... [' . a:word . ']' let job_dict = {'is_append': g:codequery_append_to_qf ? 1 : 0,