Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Splits & multitasking #155

Open
29 of 39 tasks
curlpipe opened this issue Sep 25, 2024 · 0 comments
Open
29 of 39 tasks

Splits & multitasking #155

curlpipe opened this issue Sep 25, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@curlpipe
Copy link
Owner

curlpipe commented Sep 25, 2024

Being able to open multiple files in the same view together to work alongside each other.

This will lay the groundwork for more advanced features such as viewing diffs and a file tree.

  • Use a tree-based structure for storing documents
    • Store proportions
    • Store list of documents
    • Store "ptr" for each split (to represent the tab within that split)
  • Render the splits on the screen
    • Determine what to render where
    • Transplant the tree into the editor
    • Replace existing render with temp render methods that return strings
    • Implement render_line method in the editor that:
      • Takes a file container
      • Renders it to a certain length on a certain line (e.g., line 0, length 25)
      • Returns the rendered string
    • Replace existing rendering methods and update main render method
    • Piece together render_line parts into a cache and render the frame
    • Account for feedback line
    • Enable configurable tab line
    • Restore greeting message
    • Ensure rendering and behavior are EXACTLY as in version 0.7.1
  • Implement render cache to store results of calculations (e.g., greeting message render, result of span, etc.)
  • Add help message
  • Split commands and API in the configuration file
  • Include user interface to control them
    • Opening splits
    • Resizing splits
    • Moving ptr
  • Fix broken things
    • Fix cursor position issues
    • Dodgy split distribution
      • Width
      • Height
    • Fix quitting and opening files
    • Fix issues with document x offset and incorrect document size
    • Ensure resize functionality works
    • Faulty status line values
    • Play nicely with the mouse feature
  • Perform final check over ALL modified features to ensure they are working correctly
  • Update documentation and README
    • Cover bulk editing
    • Cover splits
@curlpipe curlpipe added the enhancement New feature or request label Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant