Improved hk, renamed the project to sqsh

This commit is contained in:
Justine Pelletreau
2023-11-19 12:45:26 +01:00
parent 57c13fc15b
commit 890197e12c
11 changed files with 729 additions and 52 deletions

View File

@ -1,7 +1,6 @@
# Sqish
[![Build Status](http://drone.sq.lan/api/badges/Rust/sqish/status.svg)](http://drone.sq.lan/Rust/sqish)
## Sqish's goal
Squi's Shell, aka Sqish. This is an attempt to create a simple but usable shell in Rust, because why not. The goal (for me) is also to get more familiar with Rust since I read the Rust book and want to try things out. And, at last, building and using your own tools is pretty cool.
# Sqsh
## Sqsh's goal
Squi's Shell, aka Sqsh. This is an attempt to create a simple but usable shell in Rust, because why not. The goal (for me) is also to get more familiar with Rust since I read the Rust book and want to try things out. And, at last, building and using your own tools is pretty cool.
I also implemented user-configurable hotkeys (they're more akin to a form of macros really), because I don't think a lot of shells do that and I wanted something unique.
@ -9,29 +8,18 @@ I also implemented user-configurable hotkeys (they're more akin to a form of mac
Currently, the shell is pretty rough around the edges, but usable, at least for my day to day use. It's not really and equivalent to bash as it does not implement any form of scripting; the only supported operation is piping. My goal is to build a shell for my everyday use as a Linux sysadmin: simple, fast, with just the features that I need.
## Scripting ?
I don't like shell scripting and don't use it (I know the basics, but Ansible and Python are my bread and butter). Building a lexer is not part of the project. Bash / Zsh / Python / etc are still usable when running sqish, so that's that.
I don't like shell scripting and don't use it (I know the basics, but Ansible and Python are my bread and butter). Building a lexer is not part of the project. Bash / Zsh / Python / etc are still usable when running sqsh, so that's that.
Sqish is now my default shell on my home computer, and I'll keep adding features as I come across them.
Sqsh is now my default shell on my home computer, and I'll keep adding features as I come across them.
Also keep in mind I'm a beginner in Rust, so the code is pretty dirty; I will probably come around to reformating it once I have all the features I want and ironed out all the bugs.
# TODO
TODO (Reformat):
* Creating a struct "shell" that contains builder method taking an input and an output as parameters as well as a conf could be cool
TODO (features):
* Add a &&
TODO (Bugz):
* Autocomplete shits itself when typing a path starting with /
## sqishrc (Config)
See the included sqishrc file included for comments, and copy it as ~/.sqishrc for use (optionnal).
## sqshrc (Config)
See the included sqshrc file included for comments, and copy it as ~/.sqshrc for use (optionnal).
## Built-ins
### Hotkeys
Some shortcuts are built in. They may be unique to Sqish or be copied from Zsh for example.
Some shortcuts are built in. They may be unique to Sqsh or be copied from Zsh for example.
* Ctrl+Q or Ctrl+D : Quits the shell immediatly
* Ctrl+U : Clears currently written line
* Alt+. : Appends the last word from previous command