Dark powered asynchronous completion framework for neovim/Vim8

Overview

deoplete.nvim

Dark powered asynchronous completion framework for neovim/Vim8

Note: The development of this plugin is finished. Accepts minor patches and issues but no new features. ddc.vim is the next generation auto completion plugin. Consider migrating to it.

Join the chat at https://gitter.im/Shougo/deoplete.nvim Doc

Please read help for details.

Note: If you need to understand what's different between deoplete and other similar plugins, please read "deoplete-faq" section in the documentation.

Deoplete is the abbreviation of "dark powered neo-completion". It provides an extensible and asynchronous completion framework for neovim/Vim8.

deoplete will display completions via complete() by default.

Here are some completion sources specifically made for deoplete.nvim.

Install

Note: deoplete requires Neovim (0.3.0+ and of course, latest is recommended) or Vim8.1 with Python 3.6.1+ and timers enabled. See requirements if you aren't sure whether you have this.

Note: deoplete requires msgpack package 1.0.0+. Please install/upgrade msgpack package by pip. https://github.com/msgpack/msgpack-python

Note: If you really need to use older msgpack, please use deoplete ver.5.2 instead.

https://github.com/Shougo/deoplete.nvim/releases/tag/5.2

For vim-plug

if has('nvim')
  Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
  Plug 'Shougo/deoplete.nvim'
  Plug 'roxma/nvim-yarp'
  Plug 'roxma/vim-hug-neovim-rpc'
endif
let g:deoplete#enable_at_startup = 1

For dein.vim

call dein#add('Shougo/deoplete.nvim')
if !has('nvim')
  call dein#add('roxma/nvim-yarp')
  call dein#add('roxma/vim-hug-neovim-rpc')
endif
let g:deoplete#enable_at_startup = 1

For manual installation(not recommended)

  1. Extract the files and put them in your Neovim or .vim directory (usually $XDG_CONFIG_HOME/nvim/).

  2. Write call deoplete#enable() or let g:deoplete#enable_at_startup = 1 in your init.vim

Requirements

deoplete requires Neovim or Vim8 with if_python3.

If :echo has("python3") returns 1, then you have python 3 support; otherwise, see below.

You can enable Python3 interface with pip:

pip3 install --user pynvim

Please install nvim-yarp and vim-hug-neovim-rpc for Vim8.

Note: Python3 must be enabled before updating remote plugins

If Deoplete was installed prior to Python support being added to Neovim, :UpdateRemotePlugins should be executed manually in order to enable auto-completion.

Note: deoplete needs pynvim ver.0.3.0+.

You need update pynvim module.

pip3 install --user --upgrade pynvim

If you want to read the Neovim-python/python3 interface install documentation, you should read :help provider-python and the Wiki. https://github.com/deoplete-plugins/deoplete-jedi/wiki/Setting-up-Python-for-Neovim

Configuration

" Use deoplete.
let g:deoplete#enable_at_startup = 1

See :help deoplete-options for a complete list of options.

Screenshots

Deoplete for JavaScript https://www.youtube.com/watch?v=oanoPTpiSF4

File Name Completion

Omni Completion

Neosnippets and neco-ghc integration

deoplete + echodoc integration

deoplete + deoplete-go integration

deoplete + deoplete-typescript integration

Python completion using deoplete-jedi

C++ completion using clang_complete

Java completion using vim-javacomplete2

Vim Script completion using neco-vim

C# completion using deoplete-omnisharp

Register/Extract list completions

FSharp completion using deopletefs

Typescript

Javascript

Css, scss, sass

Html

My custom snippets

C++ with cquery lang server

Rust using rls

Ruby dictionary completion

LanguageClient-neovim integration

Comments
  • Development announce

    Development announce

    Hi, users.

    I will create new completion plugin for neovim. It is deoplete.nvim (Dark powered nEO comPLETE).

    if_python3 plugins are supported in neovim. So, it is time to development.

    I will release first alpha version of deolpete.nvim in May. But it is not useful plugin. It is just concept.

    I will create "buffer" source in first.

    And I will backport some completion patches in Vim to neovim. This is needed for deoplete asynchronous.

    anouncement 
    opened by Shougo 173
  • Dynamic completion candidates update?

    Dynamic completion candidates update?

    Different sources have different speeds. Some are very fast - like "buffer" and "around", some may take many seconds to gather candidates from, e.g. "tag" source. Can we show the completion candidates as they become avaliable from the source? I.e. when I start typing, I should instantly get completions from "buffer" and "around", and if I'm willing to wait for so many seconds - the candidates from "tag" would appear and the candidates list will be dynamically redrawn.

    enhancement performance 
    opened by mrbiggfoot 101
  • Vim8 support using nvim-yarp and vim-hug-neovim-rpc

    Vim8 support using nvim-yarp and vim-hug-neovim-rpc

    ~~I have added the test code for nvim-yarp.~~ ~~But it is freezed. Why?~~

    @roxma

    More Vim8 testers are needed. Especially, Windows users.

    Fix #339

    Requirements:

    https://github.com/roxma/nvim-yarp

    https://github.com/roxma/vim-hug-neovim-rpc For Vim8

    enhancement help wanted anouncement 
    opened by Shougo 83
  • deoplete window doesn't appear for ~5s

    deoplete window doesn't appear for ~5s

    deoplete.log

    log_py3_neovim_rpc_server.log

    log_py3_deoplete.log Warning: I will close the issue without the minimal init.vim and the reproduce ways.

    Problems summary

    It takes about 5 seconds for the deoplete window to appear on a minimal .vimrc test on a 16G MacBook pro with vim8 (macvim). Here's a video showing the problem:

    deoplete-video

    Expected

    deoplete window appears almost instantly

    Environment Information

    • deoplete version(SHA1): 6924385c96fe606cf588467d418df3d2f1c364ef plugin/deoplete.vim (I installed it last night so this should be current)

    • OS: OSX Sierra 10.12.6

    • neovim/Vim version: MacVim version 8.0.1376

    • :checkhealth or :CheckHealth result(neovim only):

    Provide a minimal init.vim/vimrc with less than 50 lines (Required!)

    set pythonthreedll=/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/Python
    set rubydll=/usr/local/Cellar/ruby/2.4.2_1/lib/libruby.2.4.dylib
    set luadll=/usr/local/Cellar/lua/5.3.4_2/lib/liblua.dylib
    
    set rtp+=~/.vim/bundle/vim-hug-neovim-rpc/
    set rtp+=~/.vim/bundle/nvim-yarp/
    set rtp+=~/.vim/bundle/deoplete.nvim/
    let g:deoplete#enable_at_startup = 1
    let g:deoplete#enable_yarp = 1
    let g:deoplete#enable_profile = 1
    call deoplete#enable_logging('DEBUG', 'deoplete.log')
    

    The reproduce ways from neovim/Vim starting (Required!)

    1. mvim
    2. :e .vimrc
    3. Type rt, wait for deoplete window with rtp suggestions to appear (5 seconds), select one, hit enter, the quit.

    Generate a logfile if appropriate

    1. export NVIM_PYTHON_LOG_FILE=/tmp/log
    2. export NVIM_PYTHON_LOG_LEVEL=DEBUG
    3. nvim -u minimal.vimrc
    4. some works
    5. cat /tmp/log_{PID}

    Screen shot (if possible)

    See video above

    Upload the log file

    Log files and both /tmp/log files are attached.

    Vim8 
    opened by jonahx 55
  • Excessive CPU usge

    Excessive CPU usge

    Warning: I will close the issue without the minimal init.vim and the reproduction instructions.

    Problems summary

    Crazy CPU usage

    Expected

    Should not be excessive

    Environment Information

    • deoplete version(SHA1): c5f8165
    • OS: OSX
    • neovim/Vim version: Vim 8
    • :checkhealth or :CheckHealth result(neovim only):

    Provide a minimal init.vim/vimrc with less than 50 lines (Required!)

    " Your minimal init.vim/vimrc
    inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>"
    
    set completeopt+=noselect
    
    "close the preview window after completion is done.
    autocmd CompleteDone * pclose!
    
    " enable deoplete
    let g:deoplete#enable_at_startup = 1
    
    " deoplete-go
    let g:deoplete#sources#go#gocode_binary = $GOPATH.'/bin/gocode'
    let g:deoplete#sources#go#sort_class = ['package', 'func', 'type', 'var', 'const']
    
    

    The reproduce ways from neovim/Vim starting (Required!)

    1. Open Vim
    2. Do anything
    3. htop

    Screen shot (if possible)

    image

    bug help wanted performance Vim8 macOS 
    opened by neumachen 44
  • deoplete now automatically completes without permission

    deoplete now automatically completes without permission

    Seems to be exactly as in #440, but the problem is back.

    Note this only seems to be in master, it seems fine in 5.1. Unfortunately I am still using Vundle which always pulls master.

    source problem needs reproduction instructions 
    opened by ExpandingMan 39
  • Popup doesn't show up automatically when typing

    Popup doesn't show up automatically when typing

    I'm trying to recreate my current Vim setup in Neovim

    In vim I'm using Neocomplete with these settings

        let g:neocomplete#enable_at_startup = 1
        let g:neocomplete#enable_smart_case = 1
        let g:neocomplete#sources#syntax#min_keyword_length = 3
        let g:neocomplete#auto_completion_start_length = 1
        let g:neocomplete#sources#buffer#cache_limit_size = 50000
        let g:neocomplete#data_directory = $HOME.'/.vim/cache/noecompl'
        let g:neocomplete#sources#syntax#min_keyword_length = 3
        let g:neocomplete#force_omni_input_patterns = get(g:, 'neocomplete#force_omni_input_patterns', {})
        let g:neocomplete#force_omni_input_patterns.javascript = '[^. \t]\.\w*'
        " Tab completion.
        inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
    

    and in Neovim I have this right now

        let g:deoplete#enable_at_startup = 1
        let g:deoplete#auto_completion_start_length = 1
        let g:deoplete#enable_smart_case = 1
        let g:deoplete#enable_auto_close_preview = 1
        let g:deoplete#data_directory = $HOME.'.vim/cache/deoplete'
        let g:deoplete#force_omni_input_patterns = get(g:, 'deoplete#force_omni_input_patterns', {})
        let g:deoplete#force_omni_input_patterns.javascript = '[^. \t]\.\w*'
        inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
    
    1. The autocomplete popup doesn't show automatically while typing in deoplete unlike neocomplete.
    2. How can use TAB to match the behaviour of neocomplete?
    opened by ahmedelgabri 34
  • Completion menu show up time is long if a source is slow

    Completion menu show up time is long if a source is slow

    Warning: I will close the issue without the minimal init.vim and the reproduction instructions.

    Problems summary

    I compared deoplete with ncm. In ncm, if a source is slow, it will not impact the completion menu show up time. But in ncm, if a source is slow, it will impact the completion menu show up time.

    Expected

    If some source is slow, the faster source should show in completion menu first.

    Environment Information

    • deoplete version(SHA1): c145a7fea45850f5e19151f9748a0dc8e8e92329

    • OS: windows 10

    • neovim/Vim version: NVIM 0.2.2

    • :checkhealth or :CheckHealth result(neovim only):

    
    health#deoplete#check
    ========================================================================
    ## deoplete.nvim
      - OK: has("nvim") was successful
      - OK: has("python3") was successful
      - INFO: If you're still having problems, try the following commands:
        $ export NVIM_PYTHON_LOG_FILE=/tmp/log
        $ export NVIM_PYTHON_LOG_LEVEL=DEBUG
        $ nvim
        $ cat /tmp/log_{PID}
        and then create an issue on github
    
    health#nvim#check
    ========================================================================
    ## Configuration
      - OK: no issues found
    
    ## Performance
      - OK: Build type: RelWithDebInfo
    
    ## Remote Plugins
      - OK: Up to date
    
    health#provider#check
    ========================================================================
    ## Clipboard (optional)
      - OK: Clipboard tool found: win32yank
    
    ## Python 2 provider (optional)
      - WARNING: No Python interpreter was found with the neovim module.  Using the first available for diagnostics.
      - WARNING: provider/pythonx: Could not load Python 2:
        python2 not found in search path or not executable.
        python2.7 not found in search path or not executable.
        python2.6 not found in search path or not executable.
        C:\Users\jia.sui\AppData\Local\Programs\Python\Python36\python is Python 3.6 and cannot provide Python 2.
      - ERROR: Python provider error
        - ADVICE:
          - provider/pythonx: Could not load Python 2:
              python2 not found in search path or not executable.
              python2.7 not found in search path or not executable.
              python2.6 not found in search path or not executable.
              C:\Users\jia.sui\AppData\Local\Programs\Python\Python36\python is Python 3.6 and cannot provide Python 2.
      - INFO: Executable: Not found
    
    ## Python 3 provider (optional)
      - INFO: Using: g:python3_host_prog = "C:/Users/jia.sui/AppData/Local/Programs/Python/Python36/python.exe"
      - INFO: Executable: C:/Users/jia.sui/AppData/Local/Programs/Python/Python36/python.exe
      - INFO: Python3 version: 3.6.4
      - INFO: python.exe-neovim version: 0.2.1
      - OK: Latest python.exe-neovim is installed: 0.2.1
    
    ## Ruby provider (optional)
      - WARNING: `ruby` and `gem` must be in $PATH.
        - ADVICE:
          - Install Ruby and verify that `ruby` and `gem` commands work.
    
    ## Node provider (optional)
      - INFO: Node: v8.9.0
      - WARNING: Missing "neovim" npm package.
        - ADVICE:
          - Run in shell: npm install -g neovim
          - Is the npm bin directory in $PATH?
    

    Provide a minimal init.vim/vimrc with less than 50 lines (Required!)

    let s:rc_path = fnamemodify(expand('<sfile>'), ':h')
    
    let s:vimplug = expand(s:rc_path . '/autoload')
    
    if empty(glob(s:vimplug . '/plug.vim'))
      execute '!git clone --depth=1 https://github.com/junegunn/vim-plug' s:vimplug
      augroup vimrc
        autocmd VimEnter * PlugInstall
      augroup END
    endif
    
    call plug#begin(s:rc_path . '/plugged')
    
    "Completion
    Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
    
    call plug#end()
    
    "deoplete.nvim
    if (has('nvim') || v:version >= 800) && has('python3')
      let g:deoplete#enable_at_startup = 1
      let g:deoplete#num_processes = 20
    endif
    

    The reproduce ways from neovim/Vim starting (Required!)

    1. Add a time.sleep(10) in gather_candidates() tag.py
    diff --git a/rplugin/python3/deoplete/source/tag.py b/rplugin/python3/deoplete/source/tag.py
    index 1dcec7f..7a32695 100644
    --- a/rplugin/python3/deoplete/source/tag.py
    +++ b/rplugin/python3/deoplete/source/tag.py
    @@ -33,6 +33,8 @@ class Source(Base):
           self._make_cache(context)
    
       def gather_candidates(self, context):
    +        import time
    +        time.sleep(10)
           self._make_cache(context)
           candidates = []
           for c in self._cache.values():
    
    1. Add
    2. Open any files, then type something
    3. The completion window will show up after 10s

    Screen shot (if possible)

    deoplete

    Upload the log file

    deoplete.log

    bug performance 
    opened by jsfaint 32
  • auto_complete false breaks completion

    auto_complete false breaks completion

    When auto_complete is false then first time completion is triggered with only A and B sources are shown, no candidates from LSP. Second time completion is triggered with all sources' candidates are shown. When auto_complete is true it works as expected, all sources' candidates are shown. But I do not want auto complete turn on, I want to trigger completion when I want. It used to work correctly week ago.

    call deoplete#custom#option({
        \ 'auto_complete': v:false,
        \ })
    function! s:check_back_space() abort
      let col = col('.') - 1
      return !col || getline('.')[col - 1]  =~# '\s'
    endfunction
    
    inoremap <silent><expr> <TAB>
          \ pumvisible() ? "\<C-n>" :
          \ <SID>check_back_space() ? "\<TAB>" :
          \ deoplete#manual_complete()
    inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
    
    " Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position.
    " Coc only does snippet and additional edit on confirm.
    inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
    
    if executable('ccls')
       au User lsp_setup call lsp#register_server({
          \ 'name': 'ccls',
          \ 'cmd': {server_info->['ccls']},
          \ 'root_uri': {server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), 'compile_commands.json'))},
          \ 'initialization_options': {},
          \ 'whitelist': ['c', 'cpp', 'objc', 'objcpp', 'cc'],
          \ })
    endif
    
    cannot reproduce 
    opened by tex 31
  • Enter should close popupmenu and enter a line break (default / completeopt+=noselect)

    Enter should close popupmenu and enter a line break (default / completeopt+=noselect)

    vimrc:

    set rtp+=~/.vim/plugged/deoplete.nvim
    call deoplete#enable()
    
    foo.bar
    foo.baz
    foo.
    

    Typing b after foo. will offer bar and baz (with "[M]") hint. Pressing Enter then will close the popup menu, and the cursor will stay there. But since by default completeopt+=noinsert gets used (and not 'noselect'), the cursor should move to the next line.

    After typing ba followed by <Backspace> <Enter> will close the popup (leaving "foo.b"), and jump to the next line (as expected).

    It seems like 'noselect' gets used by default, but if the user had 'noinsert' already, then Enter should probably select the first entry when pressing Enter?! (and this seems to work as expected)

    It seems to be related to what eeda83b does, since that fixed an intermediate problem, where the popup would need two Enter presses before being closed even.

    I am using Neovim master, let me know if you need more information, and/or cannot reproduce it.

    opened by blueyed 31
  • deoplete trigger competition automatically

    deoplete trigger competition automatically

    Problems summary

    after recent update I began to notice that sometimes, if I quickly enough print word - it will be completed automatically, without permission

    The reproduce ways from neovim starting

    init.vim, which I use in reproduction

    " setup & dein {{{
      set rtp+=~/.config/nvim/bundle/repos/github.com/Shougo/dein.vim
      call dein#begin(expand('~/.config/nvim/bundle/'))
      call dein#add('Shougo/dein.vim')
    "}}}
    
    call dein#add('Shougo/deoplete.nvim') " {{{
      let g:deoplete#enable_at_startup = 1
    " }}}
    

    In command line rm -rf nvim/bundle nvim/.cache && git clone https://github.com/Shougo/dein.vim nvim/bundle/repos/github.com/Shougo/dein.vim

    and video

    As you see, if I type new quickly enough (skill is required :smile:), it paste first match automatically, I don`t remember such behavior in past

    Environment Information

    • deoplete version(SHA1): 7a9865ae3db5ebed3c5b96f48ed3d769a99c72cf (oh, I see in commit that you had changed auto_complete_delay)
    • OS: archlinux
    • neovim version:
     pacman -Qi neovim-git 
    Name            : neovim-git
    Version         : 0.1.7.r707.gd290c1342-1
    
    NVIM v0.2.0-707-gd290c1342
    Build type: RelWithDebInfo
    Compilation: /usr/bin/cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -Wconversion -O2 -g -DDISABLE_LOG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -DHAVE_CONFIG_H -D_GNU_SOURCE -I/tmp/yaourt-tmp-bjorn/aur-neovim-git/src/neovim-git/build/config -I/tmp/yaourt-tmp-bjorn/aur-neovim-git/src/neovim-git/src -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/tmp/yaourt-tmp-bjorn/aur-neovim-git/src/neovim-git/build/src/nvim/auto -I/tmp/yaourt-tmp-bjorn/aur-neovim-git/src/neovim-git/build/include
    Compiled by bjorn@machine
    
    Optional features included (+) or not (-): +acl   +iconv    +jemalloc +tui      
    For differences from Vim, see :help vim-differences
    
       system vimrc file: "$VIM/sysinit.vim"
      fall-back for $VIM: "/usr/share/nvim"
    
    
    • :CheckHealth result(neovim ver.0.1.5-452+):
    ## Configuration
      - SUCCESS: no issues found
    
    ## Performance
      - SUCCESS: Build type: RelWithDebInfo
    
    ## Remote Plugins
      - SUCCESS: Up to date
    
    ## terminal
      - INFO: key_backspace (kbs) terminfo entry: key_backspace=\177
      - INFO: key_dc (kdch1) terminfo entry: key_dc=\E[3~
    
    health#provider#check
    ========================================================================
    ## Clipboard
      - SUCCESS: Clipboard tool found: xclip
    
    ## Python 2 provider
      - INFO: `g:python_host_prog` is not set.  Searching for python2 in the environment.
      - INFO: Executable: /usr/bin/python2
      - INFO: Python2 version: 2.7.13
      - INFO: python2-neovim version: 0.1.13
      - SUCCESS: Latest python2-neovim is installed: 0.1.13
    
    ## Python 3 provider
      - INFO: `g:python3_host_prog` is not set.  Searching for python3 in the environment.
      - INFO: Executable: /usr/bin/python3
      - INFO: Python3 version: 3.6.0
      - INFO: python3-neovim version: 0.1.13
      - SUCCESS: Latest python3-neovim is installed: 0.1.13
    
    ## Ruby provider
      - INFO: Ruby: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
      - INFO: Host: /home/bjorn/.rvm/gems/ruby-2.4.0@rails-bookstore/bin/neovim-ruby-host
      - ERROR: Command timed out: gem list -ra ^neovim$
      - ERROR: Failed to run: gem list -ra ^neovim$
        - SUGGESTIONS:
          - Make sure you're connected to the internet.
          - Are you behind a firewall or proxy?
    
    
    opened by srghma 31
Owner
Shougo
The text editor is the world.
Shougo
Neovim integration for Google Keep, built using gkeepapi

Gkeep.nvim Neovim integration for Google Keep, built using gkeepapi Requirements Neovim 0.5 Python 3.6+ A patched font (optional. Used for icons) Tabl

Steven Arcangeli 143 Jan 2, 2023
Freaky fast fuzzy Denite/CtrlP matcher for vim/neovim

Freaky fast fuzzy Denite/CtrlP matcher for vim/neovim This is a matcher plugin for denite.nvim and CtrlP.

Raghu 113 Sep 29, 2022
Bringing emacs' greatest feature to neovim - Tetris!

nvim-tetris Bringing emacs' greatest feature to neovim - Tetris! This plugin is written in Fennel using Olical's project Aniseed for creating the proj

null 129 Dec 26, 2022
🌈 Generate color palettes based on Neovim colorschemes.

Iris Iris is a Neovim plugin that generates a normalized color palette based on your colorscheme. It is named for the goddess Iris of Greek mythology,

N. G. Scheurich 45 Jul 28, 2022
🦎 A NeoVim plugin for highlighting visual selections like in a normal document editor!

?? HighStr.nvim A NeoVim plugin for highlighting visual selections like in a normal document editor! Demo TL;DR HighStr.nvim is a NeoVim plugin writte

Pocco81 222 Jan 3, 2023
CLI for SQLite Databases with auto-completion and syntax highlighting

litecli Docs A command-line client for SQLite databases that has auto-completion and syntax highlighting. Installation If you already know how to inst

dbcli 1.8k Dec 31, 2022
Fast as FUCK nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.

Fast as FUCK nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.

i love my dog 2.8k Jan 5, 2023
AthenaCLI is a CLI tool for AWS Athena service that can do auto-completion and syntax highlighting.

Introduction AthenaCLI is a command line interface (CLI) for the Athena service that can do auto-completion and syntax highlighting, and is a proud me

dbcli 192 Jan 7, 2023
xonsh is a Python-powered, cross-platform, Unix-gazing shell

xonsh is a Python-powered, cross-platform, Unix-gazing shell language and command prompt.

xonsh 6.7k Dec 31, 2022
xonsh is a Python-powered, cross-platform, Unix-gazing shell language and command prompt.

xonsh xonsh is a Python-powered, cross-platform, Unix-gazing shell language and command prompt. The language is a superset of Python 3.6+ with additio

xonsh 6.7k Jan 8, 2023
A 3D engine powered by ASCII art

3D engine powered by ASCII art

Lingdong Huang 48 Nov 16, 2022
This is a repository for collecting global custom management extensions for the Django Framework.

Django Extensions Django Extensions is a collection of custom extensions for the Django Framework. Getting Started The easiest way to figure out what

Django Extensions 6k Jan 3, 2023
Textual: a TUI (Text User Interface) framework for Python inspired by modern web development

Textual Textual is a TUI (Text User Interface) framework for Python inspired by

null 17.1k Jan 4, 2023
Bring RGB to life in Neovim

Bring RGB to life in Neovim Change your RGB devices' color depending on Neovim's mode. Fast and asynchronous plugin to live your vim-life to the fulle

Antoine 40 Oct 27, 2022
Jupyter notebook client in neovim

?? Jupyter-Nvim Read jupyter notebooks in neovim Note: The plugin is still in alpha stage ?? Usage Just open any *.ipynb file and voila! ✨ Contributin

Ahmed Khalf 85 Dec 29, 2022
Magma is a NeoVim plugin for running code interactively with Jupyter.

Magma Magma is a NeoVim plugin for running code interactively with Jupyter. Requirements NeoVim 0.5+ Python 3.8+ Required Python packages: pynvim (for

Daniel Csillag 372 Dec 26, 2022
Neovim integration for Google Keep, built using gkeepapi

Gkeep.nvim Neovim integration for Google Keep, built using gkeepapi Requirements Neovim 0.5 Python 3.6+ A patched font (optional. Used for icons) Tabl

Steven Arcangeli 143 Jan 2, 2023
Freaky fast fuzzy Denite/CtrlP matcher for vim/neovim

Freaky fast fuzzy Denite/CtrlP matcher for vim/neovim This is a matcher plugin for denite.nvim and CtrlP.

Raghu 113 Sep 29, 2022
Bringing emacs' greatest feature to neovim - Tetris!

nvim-tetris Bringing emacs' greatest feature to neovim - Tetris! This plugin is written in Fennel using Olical's project Aniseed for creating the proj

null 129 Dec 26, 2022
🌈 Generate color palettes based on Neovim colorschemes.

Iris Iris is a Neovim plugin that generates a normalized color palette based on your colorscheme. It is named for the goddess Iris of Greek mythology,

N. G. Scheurich 45 Jul 28, 2022