Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A vim plugin for running multiple process asynchronously base on neomake.

License

NotificationsYou must be signed in to change notification settings

tracyone/neomake-multiprocess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A vim plugin for running multiple process asynchronously base onneomake.

Feature

  1. Run multiple process asynchronously and output to quickfix window.
  2. Global search asynchronously, supportag,rg, grep and git grep, and output to quickfix window witherrorformat option seted properly.

Screenshot

asciicast

Installation

Usevim-plug:

Plug'neomake/neomake'Plug'tracyone/neomake-multiprocess'

Usage

:h neomakemp.txt

Functions

neomakemp#run_command(command [, callback] [,arglist] [, flag])

Runcommand asynchronously:

  • callback is aFuncref variable which will be called aftercommand exit.
  • arglist is alist variable which will be passed tocallback
  • flag specify whether open quickfix window after command exited.

Global search charactor containing a match to the given PATTERN:

neomakemp#global_search(pattern [, flag])

flag is bit base variable:

  • 0x01-->search in opened buffer
  • 0x02-->search original string

Keymappings

ShortcutmodeDescription
<Leader>vvvisual,normalglobal search selected word or under current curosr
<Leader>vbvisual,normalsearching through all existing buffers
<Leader>vgvisual,normalsearching in current file
<Leader>vrnormalrun command from user input
<Leader>vsnormalglobal search from user input

you can remap it:

"search words on current cursor.nmap<yourkey><Plug>(neomakemp_global_search)"run commands from user inputnmap<yourkey><Plug>(neomakemp_run_command)"search words from user input(regular expression)nmap<yourkey><Plug>(neomakemp_global_search2)"search word on current cursor in exist buffersnmap<yourkey><Plug>(neomakemp_global_search_buf)"search word in current filenmap<yourkey><Plug>(neomakemp_global_search_cur_file)

Options

NameDescription
g:neomakemp_grep_commandrg,ag ,grep orgit
g:neomakemp_exclude_fileslist variable,specify the ignore file
g:neomakemp_exclude_dirslist variable,specify the ignore directory

Config example:

"autodetect the existence of commands and select the faster one(rg > ag > grep)letg:neomakemp_grep_command="ag""following is default valueletg:neomakemp_exclude_files=['*.jpg','*.png','*.min.js','*.swp','*.pyc','*.out','*.o']letg:neomakemp_exclude_dirs=['.git','bin','log','build','node_modules','.bundle','.tmp','.svn' ]

Quickfix window will be opened under following condition:

  1. Global search
  2. Some error happened
  3. flag is equal to 1

Show running status in statusline

Display running status of commands invim-airline:

letg:airline_section_error=airline#section#create_right(['%{neomakemp#run_status()}'])

Display running status in vim's buildin statusline:

letstatusline.=neomakemp#run_status()

Example

Following example showing how to generate cscope file asynchronously.

function!s:AddCscopeOut(read_project,...)ifa:read_project==1ifempty(glob('.project'))exec'silent! cs add cscope.out'elsefors:lineinreadfile('.project','')exec'silent! cs add'.s:line.'/cscope.out'endforendifelseifa:0==1exec'cs add'.a:1.'/cscope.out'elseexec'silent! cs add cscope.out'endifendifendfunctionletl:gen_cscope_files='find' .a:dir.' -name "*.[chsS]" >'  .l:cscopefilescallneomakemp#RunCommand(l:gen_cscope_files.'&&cscope -Rbkq -i'.l:cscopefiles,function('<SID>AddCscopeOut'),[0,a:dir])

Buy me a coffee

donation

About

A vim plugin for running multiple process asynchronously base on neomake.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp