Skip to content

smoothsafe/smoothsafe.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

smoothsafe.nvim

A Neovim plugin that enhances the smoothsafe document processing workflow by providing fuzzy-finding and validation assistance when editing smoothsafe templates.

Features

  • Tag Picker: Fuzzy search and multi-select tags using Telescope
  • Smart Insertion: Automatically appends to existing tags and deduplicates
  • Non-intrusive: Only activates when smoothsafe context is detected
  • Zero Config: Works out of the box with sensible defaults

Requirements

Installation

lazy.nvim

{
  'smoothsafe/smoothsafe.nvim',
  dependencies = { 'nvim-telescope/telescope.nvim' },
  config = function()
    require('smoothsafe').setup()
  end
}

packer.nvim

use {
  'smoothsafe/smoothsafe.nvim',
  requires = { 'nvim-telescope/telescope.nvim' },
  config = function()
    require('smoothsafe').setup()
  end
}

Usage

How It Works

  1. When you run smoothsafe process /path/to/life, smoothsafe opens Neovim with a template
  2. Smoothsafe passes available tags via vim.g.smoothsafe_tags
  3. The plugin automatically activates (command and keybinding become available)
  4. On a tags: line, press <leader>t or run :SmoothsafeInsertTags
  5. Use Telescope to fuzzy search and select tags:
    • Type to search
    • <Tab> to multi-select
    • <Enter> to confirm
  6. Selected tags are inserted on the current line

Keybindings

Mode Key Action
Normal <leader>t Open tag picker

Commands

Command Description
:SmoothsafeInsertTags Open tag picker for current line

Configuration

The plugin works without configuration, but you can customize it:

require('smoothsafe').setup({
  mappings = {
    insert_tags = '<leader>t',  -- Change keybinding (set to false to disable)
  },
})

How Smoothsafe Passes Tags

Smoothsafe opens Neovim with tags passed as a global variable:

nvim -c "lua vim.g.smoothsafe_tags = {'work', 'personal', 'finance', 'health'}" template.txt

The plugin reads from vim.g.smoothsafe_tags and remains inactive if this variable is not set.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages