An asynchronous code completion framework for vim8, leveraging vim8's new features for fast, low-overhead completion.
Completor is an asynchronous code completion framework designed for vim8. It leverages vim8's new features to deliver fast, low-overhead code suggestions and integrates with external tools like Jedi, Racer, and Tern for semantic completion across multiple programming languages. It solves the problem of slow or blocking completion in traditional vim setups by using native async capabilities.
Vim8 users who want fast, asynchronous code completion with support for multiple languages and tools, particularly developers working in Python, Rust, JavaScript, C/C++, Go, and other languages with available completers.
Developers choose Completor for its native vim8 integration, low overhead, and extensibility—offering a lightweight alternative to heavier completion plugins while supporting both traditional omni-completion and modern LSP backends.
Async completion framework made ease.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages vim8's built-in asynchronous capabilities to provide fast, non-blocking completion without editor lag, as highlighted in the README's emphasis on low overhead.
Integrates with various plugins for snippets, dictionaries, shell commands, and more, allowing users to customize completion sources through a modular plugin system.
Uses external tools like Jedi for Python, Racer for Rust, and Tern for JavaScript to offer accurate, context-aware code suggestions across multiple programming languages.
Supports Language Server Protocol for languages like Go and Rust with options to set format preferences and commands, blending traditional and modern completion approaches.
Allows manual or automatic completion triggering with flexible key mappings and provides actions like jump-to-definition and hover info, enhancing developer workflow.
Requires separate installation of language-specific tools (e.g., Jedi, Racer) for semantic completion, adding significant setup time and potential dependency issues.
Features like snippet support for neosnippet or vim-vsnip need additional plugins, which may be inconsistently maintained or lead to configuration complexity.
Setting up LSP or custom triggers involves writing vimscript code and defining variables, which can be error-prone and daunting for users unfamiliar with vim configuration.
Compared to dedicated LSP clients, it lacks advanced out-of-the-box LSP capabilities, requiring manual mapping and options for basic actions like formatting.