Skip to content

drmargarido/TodoTreeView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TodoTreeView

TODO View for https://github.com/rxi/lite

Base Functionality

This plugin will display notes that are in the code which start with:

  • TODO
  • FIX
  • FIXME
  • BUG
  • IMPROVEMENT Extra tags can be added if you add them to the todo_tags config. You can also configure their colors using the tag_colors field if wanted.

You can select between two modes:

  • tag - To display the notes organized by the note type
  • file - To display the notes organized by file
  • file_tag - To display the notes organized by file and note type

You can also define between two scopes:

  • all - Will display all the notes in the project and opened files all the time
  • focused - Will display the notes only for the currently opened file or all files if no file is open or focused.

The plugin registers the following key bindings:

  • ctrl+shift+t - Toggles the visibility of the view
  • ctrl+shift+e - Expands all the groups
  • ctrl+shift+h - Hides all the groups
  • ctrl+shift+b - Filters the notes

You can ignore specific directories or files by using the ignore_paths config.

Demo

Example of the tag view Todo plugin demo

Instructions

  1. To install the plugin just copy the todotreeview.lua file (or the todotreeview-xl.lua if you are using lite-xl) to the folder data/plugins/ of the lite editor.
  2. If you want to register extra tags or change the display mode or update any other of the settings you can edit your data/user/init.lua file.
  3. If you are using lite-xl run the core:open-user-module command to open the user file. Also use config.plugins.todotreeview instead of just config to modify the multiple settings.
local config = require "core.config"
local common = require "core.common"

-- Add extra tags
table.insert(config.todo_tags, "CLEANUP")

-- Set colors for the new tag
config.tag_colors = {
  CLEANUP = {
    tag={common.color("#008000")},
    tag_hover={common.color("#00d000")},
    text={common.color("#004000")},
    text_hover={common.color("#008000")},
  }
}

-- Set the file color when in file mode
config.todo_file_color = {
  name={common.color("#A267d9")},
  hover={common.color("#6DaE46")},
}

-- Change display mode
config.todo_mode = "file" -- Or "file_tag"

-- Change scope
config.todo_scope = "focused"

-- Change the separator between the tag and the text in file mode
config.todo_separator = " -> "

-- Change the default text if the note is empty
config.todo_default_text = "---"

-- Ignore directory and ignore specific file
table.insert(config.ignore_paths, "winlib/")
table.insert(config.ignore_paths, "README.md")