pechorin / any-jump.vim Goto Github PK
View Code? Open in Web Editor NEWJump to any definition and references π IDE madness without overhead π
Jump to any definition and references π IDE madness without overhead π
Hi! It was so nice to use any-jump.vim. It increase my productivity a lot.
Is there feature like jump to the library function like installed from pip or else?
Or maybe have include path for finding references.
I hope support this feature too
I'm using romainl's Apprentice colorscheme, but the text in the popup is hard to see.
Thanks for using first alpha releases. If you have any feedback about using this plugin/missing features/nice-staff-you-like and any other staff please let me know. This is very important for me.
In generally next big plan is:
When I call :AnyJump, I get the following error:
Error detected while processing function <SNR>13_Jump[30]..search#SearchDefinitions[28]..<SNR>109_RunRgDefinitionSearch:
E484: Can't open file C:/Users/jata/AppData/Local/Temp/VIo479B.tmp
This is on Windows, with GVim installed with Choco, and 'rg' as the search engine. The same code works on ubuntu.
Recently i releases vim support - https://github.com/pechorin/any-jump.vim/releases/tag/v0.2
Where a two main questions/problems for now:
I saw that I can configure some colors, but not the main background color, is this correct? Light themes are hard to read at the moment:
On vim 8.2 + Ubuntu18 I constantly get this (on ,):
Error detected while processing function <SNR>93_Jump[30]..search#SearchDefinitions[19]..<SNR>142_RunRgDefinitionSearch[5]..<SNR>142_ParseRgResults:
line 7: E474: Invalid argument
ag is installed.
Neat project. One thing I noticed was that if I use <C-w><left>
or any other pane shifts, I can get trapped where the AnyJump
window stays up. Here's a gif, if you look close you can see my cursor shift down to the file while the window still says up. I might suggest auto closing anyjump when the cursor focus is someplace else.
Current roadmap:
The new big stories:
Please share your ideas.
The main point for me now is to support better navigation within current session. I think i will try to experiment with displaying latest N search keywords for easy navigation through jumps history.
Also in thinking about refactoring support (basically about renaming only), but any-jump already can handle this case with :AnyJumpLastResults
. Hmm, the big area to think.
set updatetime=300 "default 4000
<leader>j
, and wait updatetime, popup window will be auto close.
nvim don't have this problem.
vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Mar 6 2020 16:27:09)
Included patches: 1-357
Add key bindings t / s / v to open file in a new tab, a new split, or in a new vertical split
I think it'd be convenient to be able to press a button to scroll to definitions or to references.
Would be nice to support ReasonML, a variant of OCaml.
Thank You
I use fish shell normally, and launch nvim through it. When calling :AnyJump, I get:
Error detected while processing function <SNR>83_Jump[30]..search#SearchDefinitions[28]..<SNR>246
_RunRgDefinitionSearch[8]..<SNR>246_ParseRgResults:
line 7:
E474: Expected false: fish: $) is not a valid variable in fish.
E474: Failed to parse fish: $) is not a valid variable in fish.
Press ENTER or type command to continue
It might be a good thing to add a color and window border management like in FZF
let g:fzf_colors =
\ { 'fg': ['fg', 'Normal'],
\ 'bg': ['bg', 'Normal'],
\ 'hl': ['fg', 'Comment'],
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
\ 'hl+': ['fg', 'Statement'],
\ 'info': ['fg', 'PreProc'],
\ 'border': ['fg', 'Ignore'],
\ 'prompt': ['fg', 'Conditional'],
\ 'pointer': ['fg', 'Exception'],
\ 'marker': ['fg', 'Keyword'],
\ 'spinner': ['fg', 'Label'],
\ 'header': ['fg', 'Comment'] }
let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6, 'highlight': 'Todo', 'rounded': v:false } }
Thanks for the great plugin, it will probably delete a couple of them from my vimrc
Is it possible to skip/ignore files that aren't tracked by git? I have some database/JSON dumps inside my project directory that make searching very slow.
Say we have a function foo(). Somewhere in the codebase (e.g. some_file.cpp) a multi-line comment references it:
...
/**
* This function wraps foo()
*/
Bar()
...
And when I try to find the definition for foo() I see some_file.cpp:42 * This function wraps foo()
listed. Obviously this is undesired.
When search in visual mode and then press Enter to jump to the definition, then it prints:
Error detected while processing function <SNR>94_VimPopupFilter[44]..AnyJumpHandleOpen:
line 30: E20: Mark not set
After that it opens the file correctly.
vim 8.2, Ubuntu 18.04.
I would prefer to set my own global keybindings for this plugin. It would be helpful if there was a configuration variable to determine whether or not the plugin makes the default keybindings for a user.
I think this plugin would be perfect for component based Javascript frameworks. It already handles the references, but doesn't seem to pick up the definitions based on file name.
When doing :AnyJump I get the following error:
Error detected while processing function <SNR>47_Jump[30]..search#SearchDefinitions[28]..<SNR>56_RunRgDefinitionSearch[8]..<SNR>56_ParseRgRe sults: line 7: E474: Unidentified byte: error: Found argument '--auto-hybrid-regex' which wasn't expected, or isn't valid in this context E474: Failed to parse error: Found argument '--auto-hybrid-regex' which wasn't expected, or isn't valid in this context
I have the following setting enabled in my init.vim:
let g:any_jump_search_preferred_engine = 'rg' let g:any_jump_ignored_files = ['*.tmp','*.temp']
In the following lines it seems as though you are reversing how filename_first
and filename_last
are operating. In practice this does seem to be the case.
any-jump.vim/autoload/internal_buffer.vim
Lines 406 to 421 in 6c434d2
Other than that, it's been a great plugin! Excellent with React/JSX dev!
There is no C support, however, just copy pasting the cpp related code and renaming the name to 'c' works fine :)
I'm working with u-boot, it's a bootloader for linux (and other) and it happens to have some non-ascii stuff in one of the headers (a font definition). AnyJumps fails to search for anything in this codebase because of this
Error detected while processing function 15_Jump[30]..search#SearchDefinitions[33]..46_RunRgDefinitionSearch[8]..46_Parse
RgResults:
line 7:
E474: Unidentified byte: include/video_font_data.h: PCRE2: error matching: UTF-8 error: isolated byte with 0x80 bit set
E474: Failed to parse include/video_font_data.h: PCRE2: error matching: UTF-8 error: isolated byte with 0x80 bit set
Press ENTER or type command to continue
Would it be possible to just ignore such errors and not include that file in the result ?
Can we have an option to let s:RunRgUsagesSearch()
search same buffer filetype only as s:RunAgDefinitionSearch()
does.
I work with php project, and sometimes I have the same function name or class name in javascript.
If s:RunRgUsagesSearch()
search for all filetypes, the result will become very big and annoying.
Therefore, I am asking for an option to let me search same buffer filetype only.
Thanks.
Neovim doesn't yet seem to support UTF-8 in help files. I get the following error message upon running helptags
:
E670: Mix of help file encodings within a language: doc/any-jump.txt
Due to the β
, β
, and π¬
chars on line 1.
Related:
ryanoasis/vim-devicons#162
ryanoasis/vim-devicons#178
ryanoasis/vim-devicons#163
vim/vim#2213
neovim/neovim#7402
Related to #7.
First of all, congrats on doing this plugin!
I've started to use it and loved it!
I have an improvement suggestion.
Some people that use my .vim are learning and use the arrow keys on the keyboard to navigate.
However, it's not working in the plugin window.
Is there a possibility of it works?
Thank you for your attention :)
Hey, the plugin looks dope!
trying to test the plugin in javascript apps but i get this error
Error detected while processing function <SNR>51_Jump[24]..search#SearchDefinitions[19]..<SNR>75_RunRgDefinitionSearch[5]..<SNR>75_ParseRgResults:
line 7:
E474: Unidentified byte: unrecognized file type: javascript
E474: Failed to parse unrecognized file type: javascript
any pointers on what might be the issue?
:version
NVIM v0.5.0-nightly
Build type: Release
LuaJIT 2.0.5
Compilation: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/gcc-9 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNDEBUG -Wall
-Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvl
a -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS
_VAR_FROM -DMIN_LOG_LEVEL=3 -I/tmp/neovim-20191210-22270-yx8i82/build/config -I/tmp/neovim-20191210-22270-yx8i82/src -I/home/linuxbrew/.linuxb
rew/include -I/tmp/neovim-20191210-22270-yx8i82/deps-build/include -I/usr/include -I/tmp/neovim-20191210-22270-yx8i82/build/src/nvim/auto -I/t
mp/neovim-20191210-22270-yx8i82/build/include
I have ag installed but encountered error running with it alone. If I install rg
it works great.
There are certain directories that I do NOT want any-jump to search through when looking for matches.
Is there currently any setting to exclude certain directories from search results?
Thank you again for your great plugin!
Macros and functions prototypes declarations are mark as references or not find at all
// Basic function prototyping
// <RETURN_TYPE> <function_name>(<args>);
void foo(...);
int foo(int m, float p);
CustomType foo(CustomType object, long m);
std::string foo(std::string object, long m);
auto foo(auto m);
float* foo();
// Basic macro definition
// #define NAME VALUE
#define MACRO_EX 1
#define MACRO_EX_2(x) func_call(x)
First of all, this is amazing. Makes navigating code so much easier. I noticed support for zig is missing though, which I know is to be expected. It's a lesser known language. Just thought I'd drop an issue here. I'm going to see if I can add it myself right now and get a PR in.
Hi, i'm getting the following
when trying to use any-jump on .scss file.
Thanks for the nice work!
Edit:
NVIM v0.5.0-nightly-514-g31614d3eb Build type: Release LuaJIT 2.0.5 Compilation: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNDEBUG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/tmp/neovim-20200209-16514-i4xv62/build/config -I/tmp/neovim-20200209-16514-i4xv62/src -I/usr/local/include -I/tmp/neovim-20200209-16514-i4xv62/deps-build/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/usr/local/opt/gettext/include -I/tmp/neovim-20200209-16514-i4xv62/build/src/nvim/auto -I/tmp/neovim-20200209-16514-i4xv62/build/include
when I do git rebase in terminal, I get this error
any-jump can't be loaded: popup_menu support required
Vim version: 8.2
OS: Mac OS X
Terminal: iTerm 2
Hi, I am new to vim, so bear with me.
I get following when I open VIM.
Error detected while processing /home/<USER>/.vim/plugged/any-jump.vim/plugin/any-jump.vim:
line 40:
any-jump can't be loaded: popup_menu support required
Press ENTER or type command to continue
following is my .vimrc
set nocompatible " be iMproved, required
filetype off " required
set number
syntax on
call plug#begin('~/.vim/plugged')
Plug 'https://github.com/junegunn/vim-github-dashboard.git'
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'sheerun/vim-polyglot'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'KeitaNakamura/neodark.vim'
Plug 'pechorin/any-jump.vim'
" Initialize plugin system
call plug#end()
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
"
nnoremap <C-p> :Files<CR>
nnoremap <Leader>b :Buffers<CR>
nnoremap <Leader>h :History<CR>
autocmd vimenter * NERDTree
colorscheme neodark
hello i'm now struggling with correct usage of your plugin in vscode, can you help me ?
For example , I prefer using C-j
, C-k
as Up/Down
in popup windows
Hello! I managed to use the plugin by setting ag as the default engine, but didn't manage to use it with rg because my build of rg doesn't have PCRE2 support, which gives out the following error message:
Error detected while processing function <SNR>30_Jump[22]..search#SearchDefinitions[19]..<SNR>183_RunRgDefinitionSearch[5]..<SNR>183_Par
seRgResults:
line 7:
E474: Unidentified byte: PCRE2 is not available in this build of ripgrep
E474: Failed to parse PCRE2 is not available in this build of ripgrep
I understand that maybe you don't want to support rg without PCRE2, but maybe a better error message?
Amazing plugin though!
For now i'm a little confusing about keybindings config implementation
Where are several ways:
β user should explicitly set all keybindings in config by self
β user should add let g:any_jump_skip_default_keybindings and explicitly add keybinds, otherwise default will be set
β user can explicitly call call g:AnyJumpSetupKeybinds() (maybe with provided key configs for overriding defaults), otherwise no keybindings will set
The big area to think.
As the title indicates, I get this error while attempting to use the plugin in a C++ file. Looking at the code in generator/
it appears that you've generated regexes for a possible c++
filetype, but Neovim uses cpp
as the filetype for C++ files. This may also be an issue for other languages with a similar difference in language name and filetype name.
It seems the position of the symbol that is highlighted in the preview window is between first to third line. Is there a way to configure that or at least an option to make sure the highlighted symbol is in the middle of the space allocated to the preview text? Some times I would like to see some text on the above of the highlighted symbol...
Could you add operators for any jump? That would make it possible to do something like ajiw
to "anyjump" "inner word". Instead of having to make a visual selection first.
Hello! This is a wonderful plugin, and I'm able to get a lot of utility out of it without support for ReasonML. That said, I'm wondering if it's possible to add support for this language on your roadmap? Alternatively, I'd be happy to consider making a contribution, depending on the complexity of the task.
Just let me know, thanks so much!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.