odin_editor/todo.md

2.7 KiB

Bugs

  • Fix jumping forward a word jumping past consecutive brackets
  • Scrolling past end/beginning of grep results panics
  • "change selection" not pushing snapshot
  • Don't allow panel navigation in grep panel

Visual QOL

  • Split grep search results into a table to avoid funky unaligned text

TODO

  • Jump List
  • Use grouped lifetimes exclusively for memory allocation/freeing
  • Highlight which panel is currently active
  • Persist end of line cursor position
  • Testing Harness
    • Replay user inputs and assert buffer contents/changes
    • Finish writing tests for all current user actions
  • Vim-like Macro replays
  • Simple File Search (vim /)
  • Modify input system to allow for keybinds that take input
    • Vim's f and F movement commands
    • Vim's r command
  • Save/Load files
    • Save
    • Load when changed on disk
  • LSP Integration
    • Language Server Configurations
    • Diagnostics
      • In-line errors
    • Go-to Definition/
    • Find references
  • Integrate tree-sitter
    • Syntax Highlighting
    • Auto Setup Parsers
      • Download parser
      • Compile/"Install"
    • Auto-indent
      • Infer indent with similar lines
      • Infer indent with C-style scopes (languages using '{')
      • Infer indent inside multi-line function calls (again C-style)
      • Somehow use tree-sitter to be language agnostic (not sure this is even possible with TS)
  • Bootleg Telescope
    • Grepping Files
      • Query across project
      • Open file in new buffer
      • Open file in new buffer at found location
      • Preview file with context
        • Show Context
        • Properly show lines numbers
        • Don't overlap result list with file preview
    • Open Buffer Search
    • Workspace file search
  • Re-write the UI (again)
    • New UI
    • Styling
      • Background colors
      • Borders + Border Color
      • Rounded corners?
      • Gradients?
  • Undo/Redo
    • Basic/Naive Undo/Redo
    • Interface for undo-able actions
    • Edit History Tree
    • Undo history saved to disk
  • Finish selections
    • Guarantee that start and end are always ordered
    • Whole Line Selections
    • Add in text actions
      • Yank
      • Delete
      • Change
        • Change
        • Change word
        • Change inside delimiter
  • Virtual Whitespace
    • Allow any-sized tabs
  • Command Search and Execution
    • Refactor to remove generics added specifically for plugins
    • Palette based UI?