Commit Graph

21 Commits

Author SHA1 Message Date
Jeevitha Kannan K S
ab7a67087d
refact: rust fixes and optimizations (#933)
* fix: getting locked out when running script

* Use success and fail colors and reorder imports

Use theme color instead of using ratatui::Color for running_command success and fail + search preview text color + min tui warning color, add colors for confirmation prompt, fix inverted success and fail colors

* Remove redundant code in themes

Removed redundant match statement with a function

* Fix scroll beyond list, color bleeding and refact in confirmation.rs

Remove unnecessary usage of pub in ConfirmPropmt struct fields, simplify numbering, prevent scrolling beyond list, fix color bleeding

* Implement case insensitive, fix word disappearing bug

Use regex for case insesitive finding, implement String instead of char<Vec>, fix word disappearing by recalculating the render x for preview text

* Revert "Remove redundant code in themes"

This reverts commit 3b7e859af8.

* Reference instead of passing the vector

* Revert regex and String implementation

Use Vec<char> for search_input to prevent panics when using multi-byte characters, use lowercase conversion instead of regex, Added comments for clarity

* Replace ansi and text wrapping code with ratatui

Replaced ansi related code for tree sitter highlight with direct ratatui::text. Cache the processed text in appstate to remove processing of text for every frame render.Create paragraph instead of list so that scroll and wrapping can be done without external crates. Add caps keys for handle_key_event.

* Fix conflicts

* Reference instead of borrowing commands, refact mut variables

Reference instead of borrowing commands from state, Refactor draw function variables to immutable, calculate innersize from block instead of manual definition

* Update tui/src/filter.rs

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

* Rendering optimizations and function refactors

Handle `find_command` inside state itself -> `get_command_by_name`. Move tips to a seperate file for modularity. Pass the whole args to state instead of seperate args. Use const for float and confirmation prompt float sizes. Add the `longest_tab_length` to appstate struct so that it will not be calculated for each frame render use static str instead String for tips. Use function for spawning confirmprompt. Merge command list and task items list rendering a single widget instead of two. Remove redundant keys in handle_key. Optimize scrolling logic. Rename `toggle_task_list_guide` -> `enable_task_list_guide`

* Cleanup

Use prelude for ratatui imports. Use const for theme functions, add
missing hints

* Update deps, remove unused temp-dir

* Add accidentally deleted preview.tape

Add labels + Wait 2sec after program ends

* Add fields to config files

Skip Confirmation, Bypass Size

* Remove accidentally commited config file

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-17 12:24:54 -06:00
Jeevitha Kannan K S
432d6b3b0c
feat: Mouse scroll (#913)
* feat: add mouse scrolling

* revert: bluetooth-manager.sh

* feat: mouse hori scrolls

* Update tui/src/main.rs

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

* Update tui/src/confirmation.rs

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>

* feat: implemetation of mouse position

Suggested by Liam (<33645555+lj3954@users.noreply.github.com>)

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-11 10:22:21 -06:00
nyx
421044f43e
fix reversion (#923) 2024-11-07 12:58:18 -06:00
Jeevitha Kannan K S
176b19d692
Use ratatui bundled crossterm (#805) 2024-11-06 16:29:52 -06:00
nyx
c36879e22f
Implement Rounded corners (#918)
* add rounded corners

* more

* apply rounded corners to script boxes as well
2024-11-06 14:01:19 -06:00
nyx
565f507190
implement word wrapping functionality (#755)
* implement dynamic auto updating word wrapping functionality

* run fmt

* remove dupe space

* run fmt

* add remove comments back

* fix compilation errors

* run fmt

* run docgen

* run docgen

* fix conflicts

* run cargo xtask docgen

* use boolean rather than enum

---------

Co-authored-by: nyx <nnyyxxxx@users.noreply.github.com>
2024-11-06 09:40:55 -06:00
nyx
38138334b7
dont allow scrolling when last line is visible (#729)
* dont allow scrolling when last line is visible

* apply changes proposed by adam

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

---------

Co-authored-by: nyx <nnyyxxxx@users.noreply.github.com>
Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
2024-10-31 13:37:01 -05:00
nyx
0c8977192f
fix color bleeding (#723)
Co-authored-by: nyx <nnyyxxxx@users.noreply.github.com>
2024-10-31 13:27:13 -05:00
afonsofrancof
34ffbc5e8d
Merge branch 'main' of ssh://github.com/ChrisTitusTech/linutil into generic-popup-title 2024-10-03 21:08:15 +01:00
Afonso Franco F.
8111649c8c
Restore behaviour of closing the pop-up with "q" (#634)
I am so used to pressing q to quit everything.
Let me know if this is not desired, because I remember using it a lot,
so if it was removed maybe there was a reason?

Co-authored-by: Chris Titus <contact@christitus.com>
2024-09-30 15:12:16 -05:00
cartercanedy
a2480bf1bd
implement dynamic shortcut list sizing (#668)
* implement dynamic shortcut list sizing

* Remove all dynamic allocations from shortcut creation
2024-09-28 14:05:19 -05:00
afonsofrancof
77962e2a5c
Made popup title generic. Preview title is now the command name 2024-09-23 04:47:03 +01:00
Adam Perkowski
62bcac4853
feat(task list): task names shortcuts (#628)
* Rust setup

* Updated tasklists

* More space
2024-09-22 14:08:27 -05:00
JEEVITHA KANNAN K S
8637adf373
Hints title refactor (#608) 2024-09-22 11:53:04 -05:00
Liam
aca42f2411
fix: Respect shebangs in scripts (#606)
* Cargo will rebuild if anything changes in src/, recursively. E.g src/commands/ is also checked

* No need to make a generic, we only use 1 backend

* Delete the imports that are no longer needed

* Replace the weird struct hack with an enum

* Delete a useless line

* The None should be explicit

* Support for non-english keyboard input

* Commit Linutil

* refactor: Improve conciseness of char passthrough

* fix: Respect shebang in script files

* refactor: More efficiently handle shebangs

* refactor: Remove unnecessary error handling

If 2 characters can be read from the file, a line must exist

* fix: Drop accidentally added file

* fix: Ensure that executable exists before displaying entry

* fix: Explicitly check if the executable is a file

* refactor: Replace unnecessary import

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* fix: Check whether the file is directly executable

* fix: Comply with rustfmt

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

---------

Co-authored-by: Andrii Dokhniak <adokhniak@gmail.com>
Co-authored-by: JustLinuxUser <JustLinuxUser@users.noreply.github.com>
Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
2024-09-22 11:50:43 -05:00
cartercanedy
76a4ffc70e
feat: implement syntax highlighting for preview text (#568)
* implement syntax highlighting for preview text

* remove errant lifetimes

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* remove errant lifetimes

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>

* update Cargo.lock

* only iterate over visible lines

* break lines up on init

* implement side scrolling

* Remove unnecessary #![soft_unstable]

This was accidentally left in from benching

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
2024-09-22 10:56:30 -05:00
JEEVITHA KANNAN K S
a747f80c85
feat: Multi selection and installation (#338)
* Fix conflicts

* Fix cmd running when selected is directory

* Clean comments
2024-09-19 13:15:30 -05:00
cartercanedy
1ea326747a
fix: Fixup preview rendering and logic of preview key binding being shown in shortcut list (#387)
* always check if selection is a command if list is focused

* clear float widget render area before rendering content

* Update hint.rs

* Update floating_text.rs

Thanks to @jeevithakannan2 for idea

---------

Co-authored-by: Chris Titus <contact@christitus.com>
2024-09-18 21:00:09 -05:00
JEEVITHA KANNAN K S
a7e6ea0246
feat: Command Description (#437)
* Implement about page

Add title

Add hints

* Add descriptions for commands

* Refactor about to description
2024-09-18 19:17:08 -05:00
Liam
82b89efdb2
Merge remote-tracking branch 'upstream/main' into restructure_linutil 2024-09-11 15:21:50 -07:00
Liam
87869593a5
refactor: Split linutil into TUI and Core crates 2024-09-05 23:37:05 -07:00