Skip to content

bab014/sm.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SM - (Santa Monica)

This is a Neovim plugin for the SM (Santa Monica) task management tool. The plugin uses the local Santa Monica CLI and LSP so task creation and editing stay aligned with the main project.

Features

  • Create a task with a Neovim command: SMCreateTask -> allow to input for title, due date, tags
  • List tasks leveraging Telescope as the fuzzy finder with a Neovim comman: SMListTasks -> allow to filter by title, tags, project, goal or sprint
    • After selecting a task, it will open a buffer to allow the person to edit the task in Neovim
  • Enable the Santa Monica LSP with SMEnableLsp or from setup()

Requirements

  • Neovim 0.10+
  • Santa Monica available either as sm on $PATH or at /home/bret/repos/santa-monica
  • Telescope for the best task picker experience

Install

Using lazy.nvim:

{
  "bab014/sm.nvim",
  dependencies = {
    "nvim-telescope/telescope.nvim",
  },
  opts = {
    enable_lsp = true,
  },
}

Configuration

require("sm").setup({
  santa_monica_root = "/home/bret/repos/santa-monica",
  config_path = vim.fs.joinpath(vim.fn.expand("~"), ".config", "sm", ".sm.yaml"),
  enable_lsp = true,
})

Options:

  • santa_monica_root: fallback repo used when sm is not on $PATH
  • config_path: string or function returning the global Santa Monica config file, defaults to ~/.config/sm/.sm.yaml
  • tasks_root: optional string or function returning the Santa Monica tasks directory; this overrides tasks_root from the config file
  • sm_command: override command as a list, string, function, or { cmd = {...}, cwd = ... }
  • enable_lsp: auto-start the Santa Monica LSP for markdown files under tasks_root

Task root resolution order:

  1. setup({ tasks_root = ... })
  2. tasks_root from the global config file
  3. cwd/tasks as a fallback

Example global config:

tasks_root: /home/bret/tasks

Commands

  • :SMCreateTask
  • :SMListTasks
  • :SMListTasks billing
  • :SMEnableLsp

SMCreateTask prompts for title, due date, and tags, creates the task through the Santa Monica CLI using the resolved global config and tasks directory, and opens the created markdown file in the current Neovim instance.

SMListTasks scans the resolved shared tasks directory, parses Santa Monica task frontmatter, and opens a Telescope picker. Fuzzy matching works across title, status, priority, tags, project, goal, sprint, and due date.

About

santa monica plugin for neovim

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages