Commit Graph

12 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
nyx
7147ed93e9
implement a root check menu (#927)
* implement a root check menu

* code needs to be readable

* rephrase it a lil bit

* disregard escalation tool variable if found as root

* refactor: Call root check from within AppState constructor (#7)

* remove duplicate check

* add comment back

---------

Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
2024-11-11 10:27:30 -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
Jeevitha Kannan K S
9f0863729f
feat: Add automation based on config file (#836)
* feat: Add automation based on config file

* docs: add configuration to the manpage & README

* update roadmap

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-07 13:21:37 -06:00
Jeevitha Kannan K S
d033b0f36d
feat: Add --skip-confirmation flag (#834)
* feat: Add --skip-confirmation flag

* add `--skip-confirmation` to the manpage

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
2024-11-07 13:09:18 -06:00
Jeevitha Kannan K S
176b19d692
Use ratatui bundled crossterm (#805) 2024-11-06 16:29:52 -06:00
Adam Perkowski
f0734f361c
🦀 feat(ux): add a minimum size bypass cli flag (#920)
* 🦀 feat(ux): add a minimum size bypass cli flag

* oopsie
2024-11-06 09:49:26 -06:00
cartercanedy
7cc38df7e1
Feat: confirmation prompts (#687)
* confirmation prompt

* actually implement scrolling

* finalize styling

* get rid of generics on AppState and Focus

* add bottom title as help text

* number formatting
2024-09-30 16:48:22 -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
Carter Canedy
84b5a2ebdd exit on control-c chord, don't exit preview on q keypress, remove superfluous screen clear and cursor position reset 2024-09-13 12:27:34 -07: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