*orgmode-babel.nvim.txt* For NVIM v0.9.0 Last change: 2023 July 23 ============================================================================== Table of Contents *orgmode-babel.nvim-table-of-contents* 1. orgmode-babel.nvim |orgmode-babel.nvim-orgmode-babel.nvim| - Requirements |orgmode-babel.nvim-orgmode-babel.nvim-requirements| - Setup |orgmode-babel.nvim-orgmode-babel.nvim-setup| - Usage |orgmode-babel.nvim-orgmode-babel.nvim-usage| - Advanced Configuration|orgmode-babel.nvim-orgmode-babel.nvim-advanced-configuration| ============================================================================== 1. orgmode-babel.nvim *orgmode-babel.nvim-orgmode-babel.nvim* An **experimental** plugin that evaluates and tangles code blocks in nvim-orgmode using babel itself. It uses `emacs` under the hood for perfect compatibility, but does not require you to add anything extra to your `init.el`. Demonstration REQUIREMENTS *orgmode-babel.nvim-orgmode-babel.nvim-requirements* - nvim-orgmode - nvim-treesitter - Neovim v0.9.0 or later - A working `emacs` installation (does not require configuration) SETUP *orgmode-babel.nvim-orgmode-babel.nvim-setup* LAZY.NVIM ~ >lua { "mrshmllow/orgmode-babel.nvim", dependencies = { "nvim-orgmode/orgmode", "nvim-treesitter/nvim-treesitter" }, cmd = { "OrgExecute", "OrgTangle" }, opts = { -- by default, none are enabled langs = { "python", "lua", ... }, -- paths to emacs packages to additionally load load_paths = {} } }, < PACKER ~ >lua use { "mrshmllow/orgmode-babel.nvim", requires = { "nvim-orgmode/orgmode", "nvim-treesitter/nvim-treesitter" }, cmd = { "OrgExecute", "OrgTangle" }, opt = true, config = function () require("orgmode-babel").setup({ -- by default, none are enabled langs = { "python", "lua", ... }, -- paths to emacs packages to additionally load load_paths = {} }) end } < USAGE *orgmode-babel.nvim-orgmode-babel.nvim-usage* All commands accept a `!` to skip confirmation. :ORGE[XECUTE] ~ Evaluates every block in buffer. See Working with Source Code in the org manual. :{RANGE}ORGE[XECUTE] ~ Evaluate every block in range. :ORGE[XECUTE] [NAME] ~ Evaluate `[name]` block. :ORGT[ANGLE] ~ Tangles whole file. See Extracting Source Code in the org manual. :{RANGE}ORGT[ANGLE] ~ Tangles all blocks in range. If the range is NOT `%`, the tangled file will likely only contain the contents of the last block, which is expected behaviour. ADVANCED CONFIGURATION*orgmode-babel.nvim-orgmode-babel.nvim-advanced-configuration* ADDING EXTRA ORG-MODE LANGUAGES ~ Your emacs `init.el` will **not** be sourced during execution of `:OrgExecute` and `:OrgTangle`, so packages you install there wont be available. However, `orgmode-babel.nvim` allows us to specify extra load paths, so we can make packages available that way. 1. Example As an example, lets add ob-mermaid for mermaid functionality in `orgmode-babel.nvim`! We have two options to get the package. We could either create an `~/.emacs.d/init.el` and install it through a package manager, which will likely have a randomish name, or for the sake of simplicity and this being a neovim plugin, we can simply manually clone the repo to a known location. >example git clone https://github.com/arnm/ob-mermaid ~/.../clone-location/ob-mermaid < >lua { "mrshmllow/orgmode-babel.nvim", ... opts = { langs = { ..., "mermaid" } load_paths = { "~/.../clone-location/ob-mermaid" } } }, < Generated by panvimdoc vim:tw=78:ts=8:noet:ft=help:norl: