neovim-lua VS reason

Compare neovim-lua vs reason and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
neovim-lua reason
25 44
799 10,054
- 0.3%
3.6 5.8
28 days ago 2 months ago
Lua OCaml
GNU General Public License v3.0 only MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

neovim-lua

Posts with mentions or reviews of neovim-lua. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-18.
  • GitHub - brainfucksec/neovim-lua: Neovim KISS configuration with Lua - Update config with lazy.nvim and other changes.
    1 project | /r/neovim | 25 Feb 2023
  • Finally written my nvim config in lua here is the link of my dots https://github.com/mdk4if/nvimDots.git . It's not too good i am damn sure but i will make it better for sure . Thanks for reading
    2 projects | /r/neovim | 18 Jan 2023
    I used this as a starting point: https://github.com/brainfucksec/neovim-lua/blob/main/nvim/lua/core/options.lua, but remove matchit from the table.
  • LSP warnings when assigning most vim options
    2 projects | /r/neovim | 3 Jan 2023
    -- LSP Configuration & Plugins local M = { 'neovim/nvim-lspconfig', event = "BufReadPre", dependencies = { -- Automatically install LSP servers, DAP servers, linters, formatters 'williamboman/mason.nvim', -- Recommended when using mason together with LSP, bridges the gap 'williamboman/mason-lspconfig.nvim', -- Useful status updates for LSP 'j-hui/fidget.nvim', -- Additional lua configuration 'folke/neodev.nvim', -- Integration "hrsh7th/cmp-nvim-lsp", -- Integration 'kevinhwang91/nvim-ufo', }, } function M.config() require("mason").setup() local u = require("core/utils") -- Customizing how diagnostics are displayed, source: https://github.com/brainfucksec/neovim-lua/blob/main/nvim/lua/lsp/lspconfig.lua vim.diagnostic.config({ update_in_insert = true, float = { focusable = false, style = "minimal", border = "rounded", source = "always", header = "", prefix = "", }, }) -- diagnostic (l) -- See `:help vim.diagnostic.*` for documentation on any of the below functions local opts = { noremap=true, silent=true } u.bind(u.normal, "Show diagnostics in a floating window (#lsp)", "ll", vim.diagnostic.open_float, opts) u.bind(u.normal, "Goto next diagnostic (#lsp)", "ln", vim.diagnostic.goto_next, opts) u.bind(u.normal, "Goto previous diagnostic (#lsp)", "lp", vim.diagnostic.goto_prev, opts) u.bind(u.normal, "Show diagnostics list in location list (#lsp)", "lq", vim.diagnostic.setloclist, opts) -- Use an on_attach function to only map the following keys -- after the language server attaches to the current buffer local on_attach = function(_, bufnr) -- Enable completion triggered by vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') -- lsp (l) -- See `:help vim.lsp.*` for documentation on any of the below functions local bufopts = { noremap=true, silent=true, buffer=bufnr } u.bind(u.normal, "Jump to definition (#lsp)", {"ld", "gd"}, vim.lsp.buf.definition, bufopts) u.bind(u.normal, "Jump to declaration (#lsp)", {"lD", "gD"}, vim.lsp.buf.declaration, bufopts) u.bind(u.normal, "Jump to type definition (#lsp)", "lt", vim.lsp.buf.type_definition, bufopts) u.bind(u.normal, "Show implementations list in quickfix window (#lsp)", {"li", "gi"}, vim.lsp.buf.implementation, bufopts) u.bind(u.normal, "Show references in the quickfix window (#lsp)", {"lr", "gr"}, vim.lsp.buf.references, bufopts) u.bind(u.normal, "Show signature help in floating window (#lsp)", {"lk", ""}, vim.lsp.buf.signature_help, bufopts) u.bind(u.normal, "Show hover information in floating window (#lsp)", "lK", vim.lsp.buf.hover, bufopts) vim.keymap.set("n", "K", function() local winid = require("ufo").peekFoldedLinesUnderCursor() if not winid then vim.lsp.buf.hover() end end) u.bind(u.normal, "Rename buffer (#lsp)", "lR", vim.lsp.buf.rename, bufopts) u.bind(u.normal, "Select code action (#lsp)", "la", vim.lsp.buf.code_action, bufopts) u.bind(u.normal, "Format buffer (#lsp)", "lf", function() vim.lsp.buf.format { async = true } end, bufopts) -- workspace u.bind(u.normal, "Add buffer location as workspace folder (lsp)", "lw", vim.lsp.buf.add_workspace_folder, bufopts) u.bind(u.normal, "Remove buffer location as workspace folder (lsp)", "lW", vim.lsp.buf.remove_workspace_folder, bufopts) u.bind(u.normal, "List workspace folders (lsp)", "lL", function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, bufopts) u.bind(u.normal, "Show workspace diagnostics in Telescope (lsp)", "lQ", "Telescope diagnostics", bufopts) end -- nvim-cmp supports additional completion capabilities, so broadcast that to servers local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) -- Neovim hasn't added foldingRange to default capabilities, users must add it manually, source: https://github.com/kevinhwang91/nvim-ufo capabilities.textDocument.foldingRange = { dynamicRegistration = false, lineFoldingOnly = true } local mason_lspconfig = require("mason-lspconfig") local servers = { astro = {}, bashls = {}, cssls = {}, dockerls = {}, eslint = {}, graphql = {}, html = {}, jsonls = { on_new_config = function(new_config) new_config.settings.json.schemas = new_config.settings.json.schemas or {} vim.list_extend(new_config.settings.json.schemas, require("schemastore").json.schemas()) end, settings = { json = { format = { enable = true, }, validate = { enable = true }, }, }, }, tsserver = {}, marksman = {}, pyright = {}, tailwindcss = {}, yamlls = {}, sumneko_lua = { Lua = { workspace = { checkThirdParty = false }, telemetry = { enable = false }, diagnostics = { -- Get the language server to recognize the `vim` global. globals = { 'vim', 'require' }, }, }, }, } -- Setup neovim lua configuration require('neodev').setup() mason_lspconfig.setup { ensure_installed = vim.tbl_keys(servers), automatic_installation = true, } local lspconfig = require("lspconfig") mason_lspconfig.setup_handlers { -- This is a default handler that will be called for each installed server (also for new servers that are installed during a session) function (server_name) lspconfig[server_name].setup { on_attach = on_attach, capabilities = capabilities, settings = servers[server_name], } end, } -- Turn on lsp status information require('fidget').setup() end return M
  • What are best plugins for C++, Java, Kotlin, Python, & LaTex
    9 projects | /r/neovim | 30 Dec 2022
    I'm not a lua expert, so prior, I simply grabbed one off GitHub, and made a few changes. It's been okay, but does not support LSP for Java or Kotlin. And doesn't use fzf (telescope?).
  • Appending to errorformat breaks quickfix
    1 project | /r/neovim | 20 Nov 2022
    Disclaimer: It may appear that I know what the hell I am doing with lua, but I do not. I am using a lua configuration from here: https://github.com/brainfucksec/neovim-lua. I am appending the above to his options.lua and am copying his append example from above in the same file.
  • neovim-lua - Working on improvements for LSP and celebrating 2 years with Lua
    4 projects | /r/neovim | 18 Nov 2022
    neovim-lua
  • What is the most reliable neovim based editor?
    1 project | /r/neovim | 18 Nov 2022
    What I ended up starting with that worked out of the box was brainfucksec’s kiss setup
  • wanting to switch from vscode to neovim
    10 projects | /r/neovim | 26 Sep 2022
    Rather than NvChad, I think this might be a better place to start since it includes only those you need This playlist was very helpful: https://www.youtube.com/watch?v=ctH-a-1eUME&list=PLhoH5vyxr6Qq41NFL4GvhFp-WLd5xzIzZ
  • I am getting ready to make a new lua config and want a basic config to start with.
    4 projects | /r/neovim | 31 Aug 2022
    https://github.com/brainfucksec/neovim-lua I found this one pretty simple, still all the basics are covered.
  • Share any cool configuration templates that you know
    5 projects | /r/neovim | 11 Aug 2022

reason

Posts with mentions or reviews of reason. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-29.
  • Learning Elm by porting a medium-sized web front end from React (2019)
    15 projects | news.ycombinator.com | 29 Feb 2024
  • Melange for React devs book, alpha release
    2 projects | news.ycombinator.com | 27 Feb 2024
    Hey HN, at Ahrefs we have been working on an online book that hopefully helps React developers get up and running with Melange, an OCaml to JavaScript compiler. You can read more about Melange here: https://melange.re/.

    There are still a few chapters that we'd like to add before considering it "complete", but it might be already helpful for some folks out there, that's why we decided to publish it early.

    The book uses Reason syntax to implement React components using ReasonReact components. You can read more about both in:

    https://reasonml.github.io/

  • ReScript: Rust like features for JavaScript
    2 projects | dev.to | 18 Jan 2024
    ReScript is "Fast, Simple, Fully Typed JavaScript from the Future". What that means is that ReScript has a lightning fast compiler, an easy to learn JS like syntax, strong static types, with amazing features like pattern matching and variant types. Until 2020 it was called "BuckleScript" and is closely related to ReasonML.
  • Ask HN: Interest in a Rust-Inspired Language Compiling to JavaScript?
    5 projects | news.ycombinator.com | 24 Dec 2023
  • Earning the privilege to work on unoriginal problems
    2 projects | news.ycombinator.com | 28 Aug 2023
    This tracks with how I've seen "normal" languages converge on similar, flawed imitations of better type systems through tools and repurposed syntax. Thank you for confirming.

    Do you have any recommendations or warnings regarding general languages which reach in the opposite direction? Reason[1] and F#[2] are both examples: they attach pre-existing ecosystems and compile-for-$PLATFORM tools to OCaml-like typing.

    OCaml itself is also intriguing for personal projects. However, I'm worried the "GPL" in its standard library's LGPL license might scare people despite both the linking exception and Jane Street's MIT alternative.

    1. https://reasonml.github.io/

  • Melange 1.0: Compile OCaml / ReasonML to JavaScript
    3 projects | news.ycombinator.com | 12 Jun 2023
    ReasonML purely as a syntax layer on top of OCaml is still being updated and released[1]. Incidentally, I'm one of the maintainers of that project too :-)

    With this Melange release, we're hoping to somewhat revive ReasonML and channel some folks back to the community from the perspective of a vertically integrated platform that has seen major investment in the past few years.

    [1]: https://github.com/reasonml/reason

  • VN Compiler. Why using Fable is too difficult. (Pt. 1)
    1 project | /r/fsharp | 14 May 2023
    Why not use https://reasonml.github.io/ instead? Or just use Typescript?
  • My Thoughts on OCaml
    11 projects | news.ycombinator.com | 25 Apr 2023
    Quieted down, but I depend on projects with worst graphs:

    https://github.com/reasonml/reason/graphs/contributors

  • why
    3 projects | /r/ProgrammerHumor | 9 Mar 2023
    There is also reasonml for Web development.
  • Por que Elm é uma linguagem tão deliciosa?
    11 projects | dev.to | 28 Feb 2023

What are some alternatives?

When comparing neovim-lua and reason you can also consider the following projects:

NvChad - Blazing fast Neovim config providing solid defaults and a beautiful UI, enhancing your neovim experience.

purescript - A strongly-typed language that compiles to JavaScript

vista.vim - :cactus: Viewer & Finder for LSP symbols and tags

rescript-compiler - The compiler for ReScript.

Neovim-from-scratch - 📚 A Neovim config designed from scratch to be understandable

melange - A mixture of tooling combined to produce JavaScript from OCaml & Reason

NvChad - An attempt to make neovim cli as functional as an IDE while being very beautiful , blazing fast. [Moved to: https://github.com/NvChad/NvChad]

js_of_ocaml - Compiler from OCaml to Javascript.

Cozette - A bitmap programming font optimized for coziness 💜

ocamlformat - Auto-formatter for OCaml code

packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config

refterm - Reference monospace terminal renderer