Skip to content

Comments

The Next Update#9

Open
TheShadowblast123 wants to merge 31 commits intoTheShadowblast123:PR-Garagefrom
jonnieey:main
Open

The Next Update#9
TheShadowblast123 wants to merge 31 commits intoTheShadowblast123:PR-Garagefrom
jonnieey:main

Conversation

@TheShadowblast123
Copy link
Owner

@TheShadowblast123 TheShadowblast123 commented Feb 20, 2026

Pretty much whenever you feel the changes are ready I just need a few things:

  1. Update functionality to current master
  2. In ProcessModeKey, The inner If else should be a select case (I don't know how you actually say it in Visual Basic)
  3. Unify key word casing (suspects: dim, as object, string, integer, boolean) ~ Note I really don't care what the casing ends up being just consistent and we're not writing SQL

We have had similar formatting ideas (though I was definitely not about to write a bash script about it). To prevent some overlap, I'm both starting another project and working on Format Mode. Great work so far, so whenever your ready I'll test everything and we'll go from there

  - multiplier is now directly passed to ProcessMovementKey thus each command
    handles its multiplier.
  - ex. we can now do 2j to jump two lines below or 23g to jump to page
     23 (TODO: page navigation using multiplier)
  - fix: Add listener for selection changes (when page change via
    findbar).
  - Add helper function `PadRight` for status bar formatting.
  - used design from (https://github.com/jmagers/vibreoffice)
  - Extend mode checks to include VISUAL_LINE in all relevant functions
  - Replace simple j/k movement with visual-line-aware selection logic
  - Enhance gg to work correctly in visual modes
  - Update delete/yank (d, c, y, D, C) to act on whole lines in VISUAL_LINE
…gation

- Update page number even when using findbar
- Attach XSelectionChangeListener to track cursor movements
- Update status bar only when page number changes to avoid performance degradation
- Include error handling to prevent LibreOffice crashes
  - handles edge cases such as paragraph starts and special
    commands like c and d.
  - prevent digit keys from acting as multipliers when a movement modifier (f/F/t/T) is active.
  - ^ moves cursor to the first non‑whitespace character on the current line
  - 0 moves cursor to the beginning of the current line
  - Implement text object selection for parentheses, brackets, braces,
    angle brackets, and quotes
  - Add fallback for smart quotes (using literal Unicode characters) to handle
    LibreOffice's default quote behavior.
  - Update the call in ProcessMovementKey to pass integer key codes.
  - Fix issue where visual selection was lost when paging up/down in Visual and Visual Line modes.
  - use `.uno:PageUpSel` and `.uno:PageDownSel` dispatch commands for reliable selection extension during paging.
  - Add standard PageUp and PageDown key support to Visual modes.
  - Replace `Ctrl+u` and `Ctrl+d` bindings (which conflicted with LibreOffice defaults) with `Ctrl+Shift+<` and `Ctrl+Shift+>` for paging up and down respectively.
@TheShadowblast123 TheShadowblast123 changed the base branch from master to PR-Garage February 23, 2026 23:39
  - Added command mode functionality, use :
  - move from setSpecial to a MODE
  - VISUAL MODE -> select text -> command -> VISUAL_MODE
  - before: Visual -> select text -> :h -> Normal
  - now: Visual -> select text -> :h -> Visual
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants