Commit Graph

16 Commits

Author SHA1 Message Date
nyx
6b572b1ab4
refactor: misc restructering (#1015)
Changes:

Separate cli flags and put them in
their own module.

Add a rustfmt configuration file for
grouping imports into crates (so we
dont have to do this manually, and it
seems we were already doing it manually
so might as well)

Use comments to describe cli flags
instead of using ugly syntax (they both
work the same but one is less ugly and
more readable)

Add a --mouse flag to enable mouse
interaction (mouse interaction is now
off by default)

Add a --bypass-root flag to disable
the annoying popup when you run the
utility as root

Fix an issue where you can't reach the
bottom of the list in a subdir (i also
reduced the nesting in those functions
as well for readability)

Add help feature to clap dependency to
enable --help / -h

Add usage feature to clap dependency
to enable usage example when running
with --help / -h

Remove CLI arg examples from readme,
and add instructions on how to view
them on CLI to prevent it from bloating
up the readme
2025-02-11 10:16:05 -06:00
Chris Titus
efa6ff9cd2
allow different os-releases and hyprland setup (#1013)
* allow different os-releases and hypr setup

* Update core/src/inner.rs

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

* Update core/tabs/system-setup/debian/hyprland-kool-deb.sh

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

* Update core/tabs/system-setup/arch/hyprland-kool.sh

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

* Update core/tabs/system-setup/fedora/hyprland-kool-fed.sh

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

* Update core/tabs/system-setup/tab_data.toml

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

* Update core/tabs/system-setup/tab_data.toml

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

* Update core/tabs/system-setup/tab_data.toml

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

* Update core/tabs/system-setup/tab_data.toml

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

* Update core/tabs/system-setup/ubuntu/hyprland-kool-ubuntu24.sh

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

* refactor: Improve File Contains precondition (#1016)

* Update inner.rs (#1021)

* Update inner.rs (#1022)

* revert to liams commit

* Update core/tabs/system-setup/arch/hyprland-kool.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/system-setup/debian/hyprland-kool-deb.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/system-setup/fedora/hyprland-kool-fed.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/system-setup/arch/hyprland-kool.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/system-setup/debian/hyprland-kool-deb.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/system-setup/debian/hyprland-kool-deb.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/system-setup/arch/hyprland-kool.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/system-setup/arch/hyprland-kool.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/system-setup/arch/hyprland-kool.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* Update core/tabs/system-setup/arch/hyprland-kool.sh

Co-authored-by: nyx <nnyyxxxx@protonmail.com>

* fix bashisms

* Switch to SH from bash

---------

Co-authored-by: Adam Perkowski <adas1per@protonmail.com>
Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
Co-authored-by: nyx <nnyyxxxx@protonmail.com>
2025-02-06 15:14:09 -06:00
Adam Perkowski
50e9827d5b
chore(release): prepare for 25.1.10 (#991) 2025-01-10 13:09:54 -06:00
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