Skip to content

patrickcortez/AurSh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

207 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AurSh

A cross platform shell to make the command line aesthetically pleasing

image

A cross compatible shell developed in C# by Tezzz, is a system shell similar to most shells like bash, zsh and fish.

This is basically a rewrite of Linuxify, my old project. But cross compatible between different Operating Systems: e.g. Linux, Windows, MacOS and Termux(Android).

It has a two line prompt with modern looking UI like PowerLevel10k thats verbose by nature and it has its own plug-in sytem using lua or F# scripts to allow you to extend the shell with custom behavior. The plugin system has passive and active plugins allowing you to make new commands,modify the UI or create new behaviors for the shell.

It also has file associations, so you can associate file extensions with their respective compiler or interpreter. The shell also has extensible auto-suggestions. Along with that is its own contexts which are disked back object like data structure that can hold multiple attributes that each contain a value that is envokable in the command line for structuring data.

You can also configure the prompt UI of AurSh in its .aursh/AurSh.config.con file.

Make sure you use the font JetBrainsMono Nerd Font installed for the prompt to look the way it good.

When using the shell, make sure you put any process/app that you have installed that takes over the terminal in the bypass list: ~/.aursh/bypass.txt.

Has:

  • Shell Scripting: .aur scripts
  • A rc script: .aurc
  • Text and object Piping and redirection
  • Ghost text and auto suggestions
  • Persistent History
  • Environmental variable handling.
  • resolves commands to native OS Commands.
  • Job control.
  • Plug-in system using lua or F# (aursh-plugin <add,list,del,init>)
  • File Associations (e.g: aursh-assoc .py "python", then: ./script.py arg...)
  • BlackBox: TUI execution viewport that displays processes invoked from the command line inside a unicode box with round edges.
  • Updater: A tool to update the shell from the remote repository.
  • Contexts: A disk backed object like that can hold multiple attributes to structurize and organize variables.
  • A built in Network Helper tool for connecting,disconnecting and recieving/sending data through the command-line.

Built-ins

  • aursh-plugin <add,list,del,init,debug> : plugin system of the shell
  • aursh-assoc : file association
  • aursh-reload : reloads shell
  • aursh-history <clear,show,filter=> : TUI history with query abilities
  • aursh-about : basic info about AurSh
  • aursh-ls : A TUI file system explorer.
  • aursh-cat <options: -e> <file> : A pipable file reader and a vim-like TUI text editor ( with -e flag ).
  • aursh-update : updates the shell from the remote repository then exits the shell to apply changes.
  • aursh-context : A disk backed object like that can hold multiple attributes to structurize and organize variables. aursh-context <new,del,list,insert,remove,update> <args...>
  • aursh-net : A network tool for connecting,disconnecting and recieving/sending data through the command-line.
  • aursh-ssh : A TUI interface for managing SSH keys and remote hosts.

Preview

Windows

Windows

Linux

Linux

Android

Android

MacOS

(Image Unavailable because I dont own a Mac)


Structure

This repositories structure is relatively simple:

  • Assets : Contains fonts and images
  • src : Contains all the source code
  • docs : Contains documentations
  • scripts : Contains Helper scripts
  • tests : Contains Unit Tests

Installation

Clone this repository first then make sure you have .NET SDK installed and make is optional since there is a MSBuild alternative.

Once you have them installed simply run make install-user for current user installation and make install for system wide installation or you can use .Net's MSBuild to install the shell: dotnet msbuild build.proj -t:Install for system wide installation or dotnet msbuild build.proj -t:InstallUser for current user installation.

Android

On Android make sure you have Termux installed and inside Termux, Make sure you have proot installed: pkg install prootand pkg install proot-distro.

Log-in To your proot with proot-distro login <distro>.

After than you may proceed to install the .Net SDK and make.

Then run make install.


Uninstall

To uninstall you can simply run make uninstall.


LICENSE

This project is under GNU General Public License, see license file for more information.

About

๐ŸšA cross compatible frontend shell written in C#. With the goal of making the command-line user friendly and aesthetically pleasing.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors