All Projects → tracyone → neomake-multiprocess

tracyone / neomake-multiprocess

Licence: MIT license
A vim plugin for running multiple process asynchronously base on neomake.

Programming Languages

Vim Script
2826 projects
shell
77523 projects

Projects that are alternatives of or similar to neomake-multiprocess

Ultra
An operating system that doesn't try to be UNIX. Made completely from scratch with its own bootloader. 😊
Stars: ✭ 48 (+33.33%)
Mutual labels:  multiprocessing
ranger-explorer.vim
Vim plugin to use ranger as a file explorer. Seamless switching between vim and ranger.
Stars: ✭ 30 (-16.67%)
Mutual labels:  vim-plugins
alternate-lite
a.vim rewriting
Stars: ✭ 21 (-41.67%)
Mutual labels:  vim-plugins
vim-jsonc
⚠️Deprecated⚠️: Vim syntax highlighting plugin for JSON with C-style line (//) and block (/* */) comments.
Stars: ✭ 52 (+44.44%)
Mutual labels:  vim-plugins
bsuir-csn-cmsn-helper
Repository containing ready-made laboratory works in the specialty of computing machines, systems and networks
Stars: ✭ 43 (+19.44%)
Mutual labels:  multiprocessing
vim-SystemVerilog
SystemVerilog syntax highlight/indent support in vim
Stars: ✭ 37 (+2.78%)
Mutual labels:  vim-plugins
vimapt
A package manager for vim (VimApt => Vim's Advanced Package Tools)
Stars: ✭ 16 (-55.56%)
Mutual labels:  vim-plugins
dotfiles
NeoVim + git + zsh + tmux bliss
Stars: ✭ 19 (-47.22%)
Mutual labels:  vim-plugins
vim-UT
Unit Testing plugin for Vim
Stars: ✭ 18 (-50%)
Mutual labels:  vim-plugins
nv-ide
Neovim custom configuration, oriented for full stack developers (rails, ruby, php, html, css, SCSS, javascript)
Stars: ✭ 363 (+908.33%)
Mutual labels:  vim-plugins
asyncomplete-nextword.vim
Provides intelligent English autocomplete for asyncomplete.vim via nextword
Stars: ✭ 43 (+19.44%)
Mutual labels:  vim8
swifty-vim
⌨️ A Vim plugin for Swift which provides file detection, syntax highlighting, support for compiling and running tests, and optional support for formatting and linting tools.
Stars: ✭ 18 (-50%)
Mutual labels:  vim-plugins
filestyle
filestyle is a Vim plugin that highlights unwanted whitespace and characters.
Stars: ✭ 30 (-16.67%)
Mutual labels:  vim-plugins
name-assign.vim
Vim plugin to automate replacing expressions with assigned variables in any programming language
Stars: ✭ 45 (+25%)
Mutual labels:  vim-plugins
mantichora
A simple interface to Python multiprocessing and threading
Stars: ✭ 13 (-63.89%)
Mutual labels:  multiprocessing
vim-debugstring
Debug printf()-style at the speed of light
Stars: ✭ 30 (-16.67%)
Mutual labels:  vim-plugins
gotests-vim
Vim plugin for https://github.com/cweill/gotests
Stars: ✭ 129 (+258.33%)
Mutual labels:  vim-plugins
vim-find-files
🔎 Search for files and show results in a quickfix list, new buffer, or populate the argument list.
Stars: ✭ 25 (-30.56%)
Mutual labels:  vim-plugins
vim-hdl
Vim plugin to aid VHDL development (for LSP, see https://github.com/suoto/hdl_checker)
Stars: ✭ 59 (+63.89%)
Mutual labels:  vim-plugins
vim-build-tools-wrapper
Projects building plugin for Vim
Stars: ✭ 23 (-36.11%)
Mutual labels:  vim-plugins

neomake-multiprocess Build Status

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

Feature

  1. Run multiple process asynchronously and output to quickfix window.
  2. Global search asynchronously, support ag, rg, grep and git grep, and output to quickfix window with errorformat option seted properly.

Screenshot

asciicast

Installation

Use vim-plug:

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

Usage

:h neomakemp.txt

Functions

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

Run command asynchronously:

  • callback is a Funcref variable which will be called after command exit.
  • arglist is a list variable which will be passed to callback
  • 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

Shortcut mode Description
<Leader>vv visual,normal global search selected word or under current curosr
<Leader>vb visual,normal searching through all existing buffers
<Leader>vg visual,normal searching in current file
<Leader>vr normal run command from user input
<Leader>vs normal global search from user input

you can remap it:

"search words on current cursor.
nmap <yourkey> <Plug>(neomakemp_global_search) 
"run commands from user input
nmap <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 buffers
nmap <yourkey> <Plug>(neomakemp_global_search_buf)
"search word in current file
nmap <yourkey> <Plug>(neomakemp_global_search_cur_file)

Options

Name Description
g:neomakemp_grep_command rg, ag , grep or git
g:neomakemp_exclude_files list variable,specify the ignore file
g:neomakemp_exclude_dirs list variable,specify the ignore directory

Config example:

"autodetect the existence of commands and select the faster one(rg > ag > grep)
let g:neomakemp_grep_command = "ag"
"following is default value
let g:neomakemp_exclude_files=['*.jpg', '*.png', '*.min.js', '*.swp', '*.pyc','*.out','*.o']
let g: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 in vim-airline:

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

Display running status in vim's buildin statusline:

let statusline.=neomakemp#run_status()

Example

Following example showing how to generate cscope file asynchronously.

function! s:AddCscopeOut(read_project,...)
    if a:read_project == 1
        if empty(glob('.project'))
            exec 'silent! cs add cscope.out'
        else
            for s:line in readfile('.project', '')
                exec 'silent! cs add '.s:line.'/cscope.out'
            endfor
        endif
    else
        if a:0 == 1
            exec 'cs add '.a:1.'/cscope.out'
        else
            exec 'silent! cs add cscope.out'
        endif
    endif
endfunction
let l:gen_cscope_files='find ' .a:dir. ' -name "*.[chsS]" > '  . l:cscopefiles
call neomakemp#RunCommand(l:gen_cscope_files.'&&cscope -Rbkq -i '.l:cscopefiles, function('<SID>AddCscopeOut'),[0,a:dir])

Buy me a coffee

donation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].