All Projects → alexander-yakushev → Compliment

alexander-yakushev / Compliment

Licence: epl-1.0
The Clojure completion library you deserve

Programming Languages

clojure
4091 projects

Projects that are alternatives of or similar to Compliment

autocompletex
redis autocomplete for elixir
Stars: ✭ 22 (-92.72%)
Mutual labels:  autocomplete
Graphqurl
curl for GraphQL with autocomplete, subscriptions and GraphiQL. Also a dead-simple universal javascript GraphQL client.
Stars: ✭ 3,012 (+897.35%)
Mutual labels:  autocomplete
Picocli
Picocli is a modern framework for building powerful, user-friendly, GraalVM-enabled command line apps with ease. It supports colors, autocompletion, subcommands, and more. In 1 source file so apps can include as source & avoid adding a dependency. Written in Java, usable from Groovy, Kotlin, Scala, etc.
Stars: ✭ 3,286 (+988.08%)
Mutual labels:  autocomplete
react-dadata-box
React component for use DaData service API (suggestions)
Stars: ✭ 25 (-91.72%)
Mutual labels:  autocomplete
AndroidIDE
AndroidIDE is an IDE for Android to develop full featured Android apps on Android smartphones.
Stars: ✭ 98 (-67.55%)
Mutual labels:  autocomplete
Coc Flutter
flutter support for (Neo)vim
Stars: ✭ 259 (-14.24%)
Mutual labels:  autocomplete
Elasticsearch-Autocomplete-API-Sample
Building Autocomplete API with Completion Suggester in ASP.NET Core sample project
Stars: ✭ 20 (-93.38%)
Mutual labels:  autocomplete
Selectmenu
Simple, easily and diversity menu solution
Stars: ✭ 284 (-5.96%)
Mutual labels:  autocomplete
angular-ng-autocomplete
NPM package for Angular: https://www.npmjs.com/package/angular-ng-autocomplete
Stars: ✭ 123 (-59.27%)
Mutual labels:  autocomplete
Email Autocomplete
A jQuery plugin that suggests and autocompletes the domain in email fields.
Stars: ✭ 265 (-12.25%)
Mutual labels:  autocomplete
pheniqs
Fast and accurate sequence demultiplexing
Stars: ✭ 14 (-95.36%)
Mutual labels:  autocomplete
django-select2
This is a Django integration for Select2
Stars: ✭ 73 (-75.83%)
Mutual labels:  autocomplete
Vim Language Server
VImScript language server, LSP for vim script
Stars: ✭ 264 (-12.58%)
Mutual labels:  autocomplete
idea-php-advanced-autocomplete
Plugin for PhpStorm IDE. Adds auto-completion support for various built-in PHP functions, where parameter is a string literal.
Stars: ✭ 57 (-81.13%)
Mutual labels:  autocomplete
React Native Mentions
Mentions textbox for React Native. Works on both ios and android. 🐳
Stars: ✭ 277 (-8.28%)
Mutual labels:  autocomplete
mongoose-graphql-pagination
GraphQL cursor pagination (Relay-like) for Mongoose models.
Stars: ✭ 29 (-90.4%)
Mutual labels:  autocomplete
Material Ui Superselectfield
multiselection autocomplete dropdown component for Material-UI
Stars: ✭ 260 (-13.91%)
Mutual labels:  autocomplete
Fuzzy
Spell checking and fuzzy search suggestion written in Go
Stars: ✭ 290 (-3.97%)
Mutual labels:  autocomplete
Autocomplete
Accessible autocomplete component for vanilla JavaScript and Vue.
Stars: ✭ 277 (-8.28%)
Mutual labels:  autocomplete
Graphql For Vscode
GraphQL syntax highlighting, linting, auto-complete, and more!
Stars: ✭ 265 (-12.25%)
Mutual labels:  autocomplete
  • Compliment [[https://circleci.com/gh/alexander-yakushev/compliment][https://img.shields.io/circleci/project/github/alexander-yakushev/compliment/master.svg]] [[https://coveralls.io/r/alexander-yakushev/compliment?branch=master][https://coveralls.io/repos/alexander-yakushev/compliment/badge.svg?branch=master]] [[https://clojars.org/compliment][https://versions.deps.co/alexander-yakushev/compliment/downloads.svg]] [[https://versions.deps.co/alexander-yakushev/compliment][https://versions.deps.co/images/up-to-date.svg]] [[CHANGELOG.md][https://img.shields.io/badge/-changelog-blue.svg]]

    Compliment is an ultimate Clojure completion library. It provides a fast and smart solution to complete vars, namespaces, class members, keywords, locals. It also allows users to implement custom completion sources.

    Compliment is used as a completion backend in the following editors/IDEs:

    • Emacs --- [[https://cider.readthedocs.io/en/latest/code_completion/][CIDER]] (through [[http://company-mode.github.io/][company-mode]] or, now deprecated, [[https://github.com/clojure-emacs/ac-cider][ac-cider]])
    • Vim --- [[https://github.com/tpope/vim-fireplace][vim-fireplace]]
    • Neovim --- [[https://github.com/Olical/conjure][Conjure]]
    • Atom --- [[https://atom.io/packages/proto-repl][Proto REPL]] and [[https://atom.io/packages/chlorine][Chlorine]]
    • [[https://sekao.net/nightcode/][Nightcode]]
    • [[https://sekao.net/nightlight/][Nightlight]]
    • @bhauman's [[https://github.com/bhauman/rebel-readline/][rebel-readline]]

    Also, I am so glad you came here. You look gorgeous today.

** Rationale

I wrote Compliment specifically for you because you are amazing and I believe you deserve a matching completion lib. Here are the features it boasts:

  • Speed. Your time is too precious to wait for completion to happen. Compliment is designed to be fast and is carefully benchmarked to make sure no sudden performance drops appear.
  • Smart completion. Such a smart person like you is entitled to completion being smart as well. Default Compliment sources use various techniques to give more meaningful completion depending on the context, and allow some fuzziness in prefix.
  • Extensibility. Your insatiable passion for exploration won't be satisfied by a set in stone completion list. For this reason Compliment allows every library developer to write custom sources, so later other users of the library will have better experience utilizing it.

** Installation

If you use Nightcode, vim-fireplace, or Atom, then you don't have to install anything at all --- Compliment will already be there for you. In case you are an Emacs+CIDER user you'll also need to install [[http://company-mode.github.io/][company-mode]] and [[https://github.com/expez/company-quickhelp][company-quickhelp]]. This [[https://cider.readthedocs.io/en/latest/code_completion/][guide]] will help you configure it.

If you need Compliment embedded directly into your program then add this to the =:dependencies=:

[[https://clojars.org/compliment][https://clojars.org/compliment/latest-version.svg]]

** Examples

[[https://github.com/alexander-yakushev/compliment/wiki/Examples][Here]] you can find examples of different completion scenarios Compliment supports so far.

** For developers

See the test files to get an idea how public API and completion sources work.

To understand what is a context and how it works see [[https://github.com/alexander-yakushev/compliment/wiki/Context][Context]] wiki page.

How to write your own sources is explained on [[https://github.com/alexander-yakushev/compliment/wiki/Custom-sources][Custom sources]] page.

** License

Copyright © 2013-2019 Alexander Yakushev. Distributed under the Eclipse Public License, the same as Clojure. See [[https://github.com/alexander-yakushev/compliment/blob/master/LICENSE][LICENSE]].

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].