2021-11-08 12:22:19 +01:00
2021-11-08 12:17:33 +01:00
2021-11-08 11:39:02 +01:00
2021-11-07 22:56:39 +01:00
2021-11-08 12:22:19 +01:00

share.nvim

A neovim plugin for sharing a visual selection using a messenger platform. Currently only Slack is supported, but Microsoft Teams is on the way. This is my first neovim plugin, so it does have rough edges, be warned. PR for fixes or features are welcome.

demo

Setup

Setup using packer or your favorite package manager. share.nvim does depend on plenary and telescope and will require nvim 0.5 or higher. Invoke the .setup and pass in your providers.

use({
  "morten-olsen/share.nvim",
  requires = {
    {'nvim-lua/plenary.nvim'},
    {'nvim-telescope/telescope.nvim'}
  },
  config = function()
    local share = require("share")
    local slack = require("share.providers.slack")
    share.config({
      providers = {
        my_slack = slack("your-slack-token")
      }
    })
  end
})

Usage

The easiest way to use it is to setup keybindings for your individual providers and optinally formatting. Below is an example of setting up two key bindings for sharing to a slack provider both as markdown (default for slack provider) or as code (auto wrapping visual highlight in a code block)

" share as markdown
vnoremap <Leader>ss :!lua require("share").share("my_slack")

" share as code block 
vnoremap <Leader>ssm :!lua require("share").share("my_slack", { format: "code" })

Description
Neovim plugin for posting visual selections directly to communication platforms. Currently only Slack is supported, Teams on the way
Readme 377 KiB
Languages
Lua 93.6%
Vim Script 6.4%