Commit Graph

1114 Commits

Author SHA1 Message Date
Ellie Huxtable
98350f52df
fix: support not-mac for default shell (#1960) 2024-04-19 09:58:25 +01:00
Ellie Huxtable
00dfc034ed
chore: fix atuin crate readme (#1959) 2024-04-18 16:42:47 +01:00
Ellie Huxtable
95cc472037
chore: move crates into crates/ dir (#1958)
I'd like to tidy up the root a little, and it's nice to have all the
rust crates in one place
2024-04-18 16:41:28 +01:00
Helmut K. C. Tessarek
176eae02f7
feat: show preview auto (#1804)
* feat: show preview auto

* refactor: preview_auto
2024-04-18 16:16:54 +01:00
Ellie Huxtable
2fba4aae93
feat: allow ignoring failed commands (#1957)
* feat: allow ignoring failed commands

* cleanup
2024-04-18 08:18:15 +01:00
Ellie Huxtable
cb19925011
feat(gui): work on home page, sort state (#1956)
1. Start on a home page, can sort onboarding/etc from there
2. Introduce zustand for state management. It's nice!

Did a production build and clicked around for a while. Memory usage
seems nice and chill.
2024-04-17 14:06:05 +01:00
dependabot[bot]
fcc0dc1bd5
chore(deps): bump debian (#1947)
Bumps debian from bullseye-20240211-slim to bullseye-20240408-slim.

---
updated-dependencies:
- dependency-name: debian
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-17 13:56:38 +01:00
dependabot[bot]
4fe15679af
chore(deps): bump lukemathwalker/cargo-chef (#1948)
Bumps lukemathwalker/cargo-chef from latest-rust-1.77.1-buster to latest-rust-1.77.2-buster.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-17 13:56:26 +01:00
Koichi Murase
4f26963c99
feat(doctor): detect active preexec framework (#1955)
* feat(doctor): check active preexec framework

To check if "blesh" or "bash-preexec" is loaded and active in the
current Bash session where `atuin doctor` is called, we make the Atuin
integration script for Bash to set the environment variable
`ATUIN_PREEXEC_BACKEND` and store a string when it detects "blesh" or
"bash-preexec".

To check whether the obtained ATUIN_PREEXEC_BACKEND is set by the
current session, we record SHLVL in ATUIN_PREEXEC_BACKEND and check if
it matches SHLVL of the current process.

* feat(doctor): detect the case where Atuin is initialized before blesh
2024-04-17 13:56:07 +01:00
Ellie Huxtable
19f70cdc91
feat(server): add me endpoint (#1954) 2024-04-16 15:59:11 +01:00
Ellie Huxtable
a0231a7095
chore(release): prepare for release v18.2.0 (#1950)
* chore(release): prepare for release v18.2.0

* disable codespell for the changelog
2024-04-15 10:37:28 +01:00
Ellie Huxtable
50a73f0552
docs: add missing cli help text (#1945) 2024-04-15 08:33:26 +01:00
Conrad Ludgate
c41998e98a
fix: use spawn_blocking for file access during async context (#1936) 2024-04-12 10:40:14 +01:00
Ellie Huxtable
d434d4e8b7
chore(gui): cargo update (#1943)
* chore(gui): cargo update

* also fix workspace
2024-04-11 17:06:37 +01:00
Ellie Huxtable
6cd4319fcf
feat(gui): add base structure (#1935)
* initial

* ui things

* cargo

* update, add history refresh button

* history page a bit better, add initial dotfiles page

* re-org layout

* bye squigglies

* add dotfiles ui, show aliases

* add default shell detection

* put stats in a little drawer, alias import changes

* use new table for aliases, add alias deleting

* support adding aliases

* close drawer when added, no alias autocomplete

* clippy, format

* attempt to ensure gdk is installed ok

* sudo

* no linux things on mac ffs

* I forgot we build for windows too... end of day

* remove tauri backend from workspace
2024-04-11 16:59:01 +01:00
Koichi Murase
0da8d34425
feat(bash/blesh): use _ble_exec_time_ata for duration even in bash < 5 (#1940)
Bash < 5.0 doesn't support the high-resolution clock EPOCHREALTIME, so
ble.sh uses the builtin command `time` to measure the execution times
in Bash < 5.0.  This has a lower resolution of milliseconds but still
more accurate than Atuin's measurent because Atuin's measurement
includes the spawn cost of Atuin, which is typically larger than a
millisecond.

Reported-by: Georgios Vlassis <https://github.com/gvlassis>
Reference: https://github.com/atuinsh/atuin/pull/1484#issuecomment-2047068582
2024-04-10 13:02:47 +01:00
Ellie Huxtable
7ced31c354
feat(dotfiles): add alias import (#1938)
* feat(dotfiles): add alias import

* things

* clippy clappy
2024-04-10 13:01:48 +01:00
dependabot[bot]
0ab9f4d9ff
chore(deps): bump lukemathwalker/cargo-chef (#1929)
Bumps lukemathwalker/cargo-chef from latest-rust-1.77.0-buster to latest-rust-1.77.1-buster.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-09 14:21:27 +01:00
Koichi Murase
05becf9255
docs(bash-preexec): describe the limitation of missing commands (#1937) 2024-04-09 12:41:31 +01:00
YummyOreo
c384179814
feat: prevents stderr from going to the screen (#1933) 2024-04-09 08:52:06 +01:00
David Legrand
3f80a9fca4
docs: add install instructions for cave/exherbo linux in README.md (#1927) 2024-04-08 13:12:37 +01:00
Koichi Murase
426ca5de3e
fix(bash): do not use "return" to cancel initialization (#1928)
We have introduced initialization guards in #1533 [1], where `return
0` was used to cancel the initialization.  However, this cancels the
processing of the caller (which is typically `~/.bashrc`) instead of
just canceling Atuin's initialization.  In this patch, we avoid using
`return 0`.  Instead, we enclose the main part of the initialization
in a big if-statement.

[1] https://github.com/atuinsh/atuin/pull/1533
2024-04-08 13:03:07 +01:00
dependabot[bot]
28084a0963
chore(deps): bump regex from 1.10.3 to 1.10.4 (#1930)
Bumps [regex](https://github.com/rust-lang/regex) from 1.10.3 to 1.10.4.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.10.3...1.10.4)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 13:02:08 +01:00
Yaroslav Halchenko
28b0b490f9
chore(ci): Add codespell support (config, workflow) and make it fix some typos (#1916)
* Add github action to codespell main on push and PRs

* Add rudimentary codespell config

* ignore crate, inbetween etc

* [DATALAD RUNCMD] run codespell throughout fixing typo automagically but ignoring the failure due to ambigous typos

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w || :",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^

* [DATALAD RUNCMD] Do interactive fixing of  leftover ambigous typos

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w -i 3 -C 2",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^
2024-04-05 15:51:57 +01:00
Ellie Huxtable
894eaa6faf
perf(dotfiles): cache aliases and read straight from file (#1918)
* cache aliases when set locally

* handle rebuild on sync and tidy things a bit

* support all shells except nu

* make clippy happy

* fmt

* fix for no features
2024-04-03 10:19:24 +01:00
Helmut K. C. Tessarek
61daae27ab
feat: add 'ctrl-a a' to jump to beginning of line (#1917) 2024-04-03 08:23:52 +01:00
Ellie Huxtable
bb0ea6c516
fix: report non-decodable errors correctly (#1915) 2024-04-02 16:52:45 +01:00
Ivan Toriya
f814f62267
fix(install): install script echo (#1899)
* fix: install script echo

* fix(nu): Update atuin.nu to resolve 0.92 deprecation (#1913)

* feat(install): Update install.sh to support KDE Neon (#1908)

KDE Neon is based on Ubuntu 22.04, but the OS List for Ubuntu-based distros does not have the string "neon".  This commit adds it.

* chore(deps): bump lukemathwalker/cargo-chef (#1901)

Bumps lukemathwalker/cargo-chef from latest-rust-1.76.0-buster to latest-rust-1.77.0-buster.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): flake.lock: Update (#1910)

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605' (2024-02-28)
  → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ebe6e807793e7c9cc59cf81225fdee1a03413811' (2024-02-29)
  → 'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix(doctor): detect preexec plugin using env ATUIN_PREEXEC_BACKEND  (#1856)

* refactor(doctor): update func names and desc to match current impl

* fix(doctor): use environment variable to detect plugin if possible

In this patch, if the plugin provides an environment variable, we use
the environment variable to test the existence of the plugin.  When an
environment variable is not available, we continue to use the mock
interactive session by "shell -ic command".  We also test
shell-specific plugins only in the corresponding shells.  An
additional test can be performed by a custom function for each plugin.

* chore(deps): bump sysinfo from 0.30.6 to 0.30.7 (#1888)

Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.30.6 to 0.30.7.
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.30.6...v0.30.7)

---
updated-dependencies:
- dependency-name: sysinfo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Ivan Toriya <toriya@precisdigital.com>
Co-authored-by: Wind <WindSoilder@outlook.com>
Co-authored-by: Diego Carrasco Gubernatis <557703+dacog@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Koichi Murase <myoga.murase@gmail.com>
2024-04-02 15:07:55 +01:00
Ellie Huxtable
e7f808d50a
feat: sync v2 default for new installs (#1914) 2024-04-02 14:41:13 +01:00
Ellie Huxtable
48b4e34776
feat(search): add better search scoring (#1885)
* feat(search): add better search scoring

* add opt-in
2024-04-02 12:13:00 +01:00
dependabot[bot]
3ae83460f9
chore(deps): bump sysinfo from 0.30.6 to 0.30.7 (#1888)
Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.30.6 to 0.30.7.
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.30.6...v0.30.7)

---
updated-dependencies:
- dependency-name: sysinfo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 09:02:59 +01:00
Koichi Murase
f881ce5c87
fix(doctor): detect preexec plugin using env ATUIN_PREEXEC_BACKEND (#1856)
* refactor(doctor): update func names and desc to match current impl

* fix(doctor): use environment variable to detect plugin if possible

In this patch, if the plugin provides an environment variable, we use
the environment variable to test the existence of the plugin.  When an
environment variable is not available, we continue to use the mock
interactive session by "shell -ic command".  We also test
shell-specific plugins only in the corresponding shells.  An
additional test can be performed by a custom function for each plugin.
2024-04-02 09:02:08 +01:00
github-actions[bot]
616dabc2a1
chore(deps): flake.lock: Update (#1910)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605' (2024-02-28)
  → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ebe6e807793e7c9cc59cf81225fdee1a03413811' (2024-02-29)
  → 'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-02 08:46:10 +01:00
dependabot[bot]
5981a882a5
chore(deps): bump lukemathwalker/cargo-chef (#1901)
Bumps lukemathwalker/cargo-chef from latest-rust-1.76.0-buster to latest-rust-1.77.0-buster.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 08:34:21 +01:00
Diego Carrasco Gubernatis
5c54c2afed
feat(install): Update install.sh to support KDE Neon (#1908)
KDE Neon is based on Ubuntu 22.04, but the OS List for Ubuntu-based distros does not have the string "neon".  This commit adds it.
2024-04-02 08:28:10 +01:00
Wind
5c4afd6a13
fix(nu): Update atuin.nu to resolve 0.92 deprecation (#1913) 2024-04-02 08:27:16 +01:00
Ellie Huxtable
82a7c8d321
fix(search): case insensitive hostname filtering (#1883) 2024-03-15 08:50:43 +00:00
Ellie Huxtable
b04fc471de
feat: add atuin prefix binding (#1875)
* feat: add atuin prefix binding

* bleh
2024-03-13 16:35:32 +00:00
Steven Xu
ad766cc82d
fix: pass search query in via env for *Nushell* (#1874) 2024-03-13 15:37:51 +00:00
Ellie Huxtable
da8cc48198
chore: add section to issue form (#1873) 2024-03-13 14:01:37 +00:00
Ellie Huxtable
11c0dfc137
chore: require atuin doctor in issue form (#1872) 2024-03-13 13:40:59 +00:00
Ellie Huxtable
9ae167d44b
chore: add issue form (#1871) 2024-03-13 13:36:48 +00:00
Xavier Vello
c330636766
feat(server): check PG version before running migrations (#1868) 2024-03-12 18:02:44 +00:00
Ellie Huxtable
3e2e7292c0
docs: add security contact (#1867) 2024-03-12 17:30:51 +00:00
Ellie Huxtable
6aa90c0eed
fix: pass search query in via env (#1865)
* fix: pass search query in via env

* fix
2024-03-12 17:04:02 +00:00
Ellie Huxtable
02d79feea5
fix(search): allow empty search (#1866) 2024-03-12 16:46:41 +00:00
Ellie Huxtable
3368d2fa47
feat(search): allow specifying search query as an env var (#1863) 2024-03-12 12:04:04 +00:00
Ellie Huxtable
04f2c95617
fix(crate): add missing description (#1861) 2024-03-11 16:36:10 +00:00
dependabot[bot]
dc2d0be098
chore(deps): bump whoami from 1.5.0 to 1.5.1 (#1851)
Bumps [whoami](https://github.com/ardaku/whoami) from 1.5.0 to 1.5.1.
- [Changelog](https://github.com/ardaku/whoami/blob/v1/CHANGELOG.md)
- [Commits](https://github.com/ardaku/whoami/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: whoami
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-11 15:28:46 +00:00
Koichi Murase
0d3741f1cc
feat(search): process [C-h] and [C-?] as representations of backspace (#1857)
In the conventional terminal protocol, Backspace can be transmitted as
the code \x08 or \x7F depending on the terminal.  Ctrl+Backspace can
also be transmitted as the code \x08 or \x7F.  These overlap with the
code for Ctrl+H and Ctrl+?.  The crossterm library does not try to
handle these terminal dependencies (probably because it is hard to
resolve it perfectly).  To provide a consistent experience among
terminals, we assign to C-h and C-? the same feature as backspace.

Note: The crossterm seems to produce Ctrl+Backspace only in the
extended keyboard protocol, so we can trust crossterm particularly for
Ctrl+Backspace.  For this reason, we keep the feature of removing a
backward word by Ctrl+Backspace.

https://github.com/atuinsh/atuin/issues/1753
2024-03-11 15:25:57 +00:00