* feat: add command checks to install script
Some people don't use sudo or have curl, sed or wget installed by default.
This adds a check, if sudo, curl and sed are installed and changes wget
to curl as this is the mostly used command in the script. If sudo is not
installed it uses su.
Closes: #175
* fix: add newline to printf commands
The printf was missing a newline at the end, which resulted in the eval
line being appended directly to the end of the previous line.
* feat: allow credential input from stdin for registration
This changes the options for register to be optional. If arguments are
not given, the program will ask for them interactively.
* feat: allow credential input from stdin for login
* style: apply cargo fmt
* add test demonstrating problem
* add a reordered fuzzy-search mode that presents shorter matches first,
rather than using strict chronological ordering.
* fix warnings, refactor interface to minspan slightly
* run shellcheck
* Update .github/workflows/shellcheck.yml
Co-authored-by: Conrad Ludgate <oon@conradludgate.com>
* shellcheck fixes in which i am highly confident
* shellcheck fixes in which I am less confident - not executing this is fine, right?
* SC2155
In src/shell/atuin.bash line 1:
export ATUIN_SESSION=$(atuin uuid)
^-----------^ SC2155: Declare and assign separately to avoid masking return values.
* shellcheck doesn't support zsh, per https://github.com/koalaman/shellcheck/wiki/SC1071
* yaml fix
* gotta checkout our code, too
* yaml fix
* action spelling
* exclude .zsh
* Shellcheck doesn't support zsh, per
https://github.com/koalaman/shellcheck/wiki/SC1071, and the ignore: param
in ludeeus/action-shellcheck only supports _directories_, not _files_.
So instead, we manually add any error the shellcheck step finds in the
file to the above line ...
* comment all the ignores
* Update src/shell/atuin.bash
Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
* new zsh plugin shellcheck errors
* new zsh plugin shellcheck errors, pt 2
Co-authored-by: Conrad Ludgate <oon@conradludgate.com>
Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
* Re-add macro_use to atuin-common
When build as a dependency, the macro is available from another crate.
When you try to build common by itself, the macro is not found. Magic,
huh?
* chore: remove unneeded use - clippy is confused
Co-authored-by: Conrad Ludgate <conradludgate@gmail.com>
* Release v0.7.0
- Update all the crate versions
- Update the demo gif
- Write a changelog
- Adjust the title of the search screen (has the old name still)
- Adjust the colours of the quick-jump numbers (sadly invisible on some
colour schemes as dark grey :/)
* Update README, default config file, docs
* Link usernames
* Trigger release workflow upon release creation, as well as tags
This allows us to produce a faster executable (which is useful in shells) at the expense of rarely spending more compilation time upon releasing a new version.
I do this in all of my rust projects, perhaps because they are too small for compilation time to really matter. We should measure next time we release and see how that goes.
* Implement 'quick access' via numbers
Puts numbers 0-9 next to commands *above* current selection.
Ctrl-<number> should activate them - but since Ctrl-<num> are
reserved by terminal, this does not currently work. Need to
find different sets of keyboard shortcuts.
Numbers are *above* current selection, since the user must use
the arrow keys to go over the commands below current selection
before reaching selection.
* Use Alt+<n> to select last nth command
* Don't print Opt+0
Same as <Enter>
* Run rustfmt
* Simplify code
- Use ? operator for getting selected item
- Use RangeInclusive to check if character pressed is a number
The data part of the add history request is actually a string. I don't
want to introduce any structure here, and would rather keep it as "just
a blob". Even if that blob has structure secretly!
My fault for missing this in the last review
Also:
- Ensures that a key is generated as soon as a user registers!
- Ensures that "atuin key" will generate a key if needed, and doesn't
double base64 encode data
And a few other little fixes :)
Resolves#85Resolves#86