All Projects → Olical → Conjure

Olical / Conjure

Licence: unlicense
Interactive evaluation for Neovim (Clojure, Fennel, Janet, Racket, Hy, MIT Scheme, Guile)

Programming Languages

clojure
4091 projects
clojurescript
191 projects
racket
414 projects

Projects that are alternatives of or similar to Conjure

Dotfiles
💻 Use command line interface manager for macOS configuration.
Stars: ✭ 97 (-82.95%)
Mutual labels:  makefile, neovim
Deoplete Jedi
deoplete.nvim source for Python
Stars: ✭ 559 (-1.76%)
Mutual labels:  neovim
Erlang.mk
A build tool for Erlang that just works.
Stars: ✭ 538 (-5.45%)
Mutual labels:  makefile
Project Layout
Standard Go Project Layout
Stars: ✭ 28,275 (+4869.24%)
Mutual labels:  makefile
Scientific network summary
总结关于科学上网的概念方法及工具
Stars: ✭ 539 (-5.27%)
Mutual labels:  makefile
Fern.vim
🌿 General purpose asynchronous tree viewer written in Pure Vim script
Stars: ✭ 552 (-2.99%)
Mutual labels:  neovim
Vim Doge
(Do)cumentation (Ge)nerator 10+ languages 📚 Generate proper code documentation skeletons with a single keypress. ⚡️🔥
Stars: ✭ 533 (-6.33%)
Mutual labels:  neovim
Evervim
A Modern, Powerful & Modular Vim Distribution
Stars: ✭ 568 (-0.18%)
Mutual labels:  neovim
Device brcm rpi3
Stars: ✭ 558 (-1.93%)
Mutual labels:  makefile
Awesome Python Cn
Python资源大全中文版,包括:Web框架、网络爬虫、模板引擎、数据库、数据可视化、图片处理等,由「开源前哨」和「Python开发者」微信公号团队维护更新。
Stars: ✭ 23,408 (+4013.88%)
Mutual labels:  makefile
Vim Lsc
A vim plugin for communicating with a language server
Stars: ✭ 545 (-4.22%)
Mutual labels:  neovim
Coc Python
Python extension for coc.nvim, fork of vscode-python
Stars: ✭ 542 (-4.75%)
Mutual labels:  neovim
Buildroot
Tesla's buildroot repository
Stars: ✭ 552 (-2.99%)
Mutual labels:  makefile
Remake
Enhanced GNU Make - tracing, error reporting, debugging, profiling and more
Stars: ✭ 538 (-5.45%)
Mutual labels:  makefile
Git Game V2
Second version of the terminal based game that teaches users git commands
Stars: ✭ 560 (-1.58%)
Mutual labels:  makefile
Docker Hadoop Spark Workbench
[EXPERIMENTAL] This repo includes deployment instructions for running HDFS/Spark inside docker containers. Also includes spark-notebook and HDFS FileBrowser.
Stars: ✭ 536 (-5.8%)
Mutual labels:  makefile
Manta
Manta is a scalable HTTP-based object store
Stars: ✭ 543 (-4.57%)
Mutual labels:  makefile
Coc Snippets
Snippets solution for coc.nvim
Stars: ✭ 547 (-3.87%)
Mutual labels:  neovim
Tagbar
Vim plugin that displays tags in a window, ordered by scope
Stars: ✭ 5,322 (+835.33%)
Mutual labels:  neovim
Fzf Preview.vim
The plugin that powerfully integrates fzf and (Neo)vim. It is also possible to integrate with coc.nvim.
Stars: ✭ 563 (-1.05%)
Mutual labels:  neovim

++++

++++

== https://oli.me.uk/conversational-software-development/[Conversational software development] for https://neovim.io[Neovim] + https://conjure.fun/discord[image:https://img.shields.io/discord/732957595249410108.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2[Discord]]

Conjure is an interactive environment for evaluating code within your running program.

The core features of Conjure are language agnostic (although it's targeted at Lisps for now), with each language client providing their own extra tools. Here's the currently supported languages, contributions and 3rd party plugins that add clients are highly encouraged!

== User experience

What does wielding Conjure actually look like? What can you do with it?

https://asciinema.org/a/325517[image:https://asciinema.org/a/325517.svg[asciicast]]

  • Open a file of a supported file type such as clojure or racket.
  • Some languages, such as Clojure, will automatically connect to your REPL or give you the commands and mappings to do so yourself.
  • Use various mappings to execute the code you're interested in such as the current form, file, buffer or even form at a Neovim mark.
  • Every result is kept in a log buffer that you can access at any time.
  • Support for multiple asynchronous autocompletion frameworks, with https://github.com/Shougo/deoplete.nvim/[deoplete] built in (<C-x><C-o> also works!).

Conjure allows you to send the right part of your code off for evaluation, see the results, wrap the results in more code and evaluate that. It keeps a log of your actions and results so you don't have to remember them, that context is extremely helpful when you're down the rabbit hole of a bug hunt.

The goal is to give you a tool that lets you effortlessly run whatever you need to while keeping out of your way (but there with context and more information if you need it).

== Try without installing

You can trial run Conjure with the interactive :ConjureSchool tutorial without actually installing it! The only prerequisites are curl and an up to date nvim.

[source,bash]

curl -fL conjure.fun/school | sh

This will temporarily download the plugin, launch Neovim with :ConjureSchool running and then clean up after itself. You get to try out what Conjure has to offer without having to edit your Neovim configuration.

== Installation

Use your favourite plugin manager, mine is https://github.com/junegunn/vim-plug[vim-plug] but any will do. Be sure to pin it to a tag and subscribe to releases through GitHub to avoid any surprises in the future.

[source,viml]

Plug 'Olical/conjure', {'tag': 'v4.16.0'}

You'll need to be on the latest stable Neovim for all of the features (such as floating windows) to work. If you see errors, please check your Neovim version before raising an issue.


Note: Some issues have been reported when using https://github.com/wbthomason/packer.nvim[packer] to install Conjure and Aniseed. Work has been done to mitigate this, but https://github.com/Olical/conjure/issues/159#issuecomment-757384128[this comment] should help you out if you run into issues.


== Getting started

All further documentation is found within link:doc/conjure.txt[:help conjure]. You can also use :ConjureSchool to get an interactive introduction to the workflow and mappings Conjure provides.

Please do get in touch via https://conjure.fun/discord[Discord] or https://twitter.com/OliverCaldwell[Twitter] if you have any questions or issues.

Broader documentation can be found in the https://github.com/Olical/conjure/wiki[Conjure wiki], there you'll find blog posts and guides that will help you get common workflows up and running. Contributions are encouraged!

== Clients of tomorrow

These are clients I intend to build eventually or encourage another community member to build and maintain on my behalf. Every language we add creates another bridge between communities, I would like Conjure to be common ground between all of our beloved esoteric REPL based languages.

== Behind the curtain

Conjure is written entirely in Lua (no VimL or external processes!) which is compiled from https://fennel-lang.org/[Fennel] by https://github.com/Olical/aniseed[Aniseed] ahead of time. Check out link:CONTRIBUTING.adoc[CONTRIBUTING.adoc] for more on how to work on Conjure using itself.

Historically, Conjure was Clojure specific with an entirely different implementation, you can still find that version on the https://github.com/Olical/conjure/tree/legacy-jvm[legacy-jvm branch].

== Unlicenced

Find the full http://unlicense.org/[unlicense] in the UNLICENSE file, but here's a snippet.


This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.


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