Commit Graph

13 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
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
Liam
980365f7c9
refactor: Re-export ego-tree dependency from linutil core (#811)
* refactor: Export ego-tree from linutil core, rather than workspace

* refactor: Improve code formatting

---------

Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-07 13:00:34 -06:00
Liam
6728e7ee9b
refact: Handle temporary directories entirely within core (#754)
* refactor: Handle temporary directories entirely within core

* fix (xtask): Handle modified tablist struct

* refactor (xtask): Apply Clippy suggested changes

* Fix size_bypass

---------

Co-authored-by: Chris Titus <contact@christitus.com>
2024-11-06 15:28:17 -06:00
Jeevitha Kannan K S
67b749942c
refact: multi-selection to per cmd (#719)
* Add per cmd multi-selection

* Add colors for nm cmds

* fix: conflicts
2024-11-05 13:59:57 -06:00
JEEVITHA KANNAN K S
26d0adc829
Refact temp-dir (#749) 2024-10-03 14:20:50 -05: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
Adam Perkowski
f6748caab7
feat: short disclaimer-like script descriptions (#593)
* names updated

Co-authored-by: nnyyxxxx <nnyyxxxx@users.noreply.github.com>

* idea

* Added missing tasks

* Added a title

---------

Co-authored-by: nnyyxxxx <nnyyxxxx@users.noreply.github.com>
2024-09-22 11:10:05 -05:00
Adam Perkowski
216f1a4836
Restructure the crates (#549)
* BIG CHANGES

* core metadata

* Added readme.md to the package

* Moved the crate back to tui

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

---------

Co-authored-by: Liam <lj3954@users.noreply.github.com>
2024-09-19 19:09:53 -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
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
87869593a5
refactor: Split linutil into TUI and Core crates 2024-09-05 23:37:05 -07:00