Skip to content

LinArcX/ush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ush

a universall shell with these features:

  • an easy syntax to write shell scripts.
  • works on both linux and windows.
  • ELN inspired by clifm

Build

Linux

./p

Build dependencies

  • git
  • a c++ compiler (clang, gcc or msvc)

TODO

Essential

  • ignore white spaces and don't put them into chars and args array.

  • Ctrl+Right -> go to next word.

  • Ctrl+Left -> go to previous word.

  • SPACE -> to move forwards all characters in right.

  • Ctrl+k -> clear characters from right of the cursor

  • Ctrl+u -> clear characters from left of the cursor

  • put command history in: $HOME/.config/ush/history/commands

    • UP -> go to next command in history.
    • Down -> go to previous command in history
    • Ctrl+r -> search recursively in history.
  • put directory history in: $HOME/.config/ush/history/dirs

    • Alt+j -> Go to next directory in history
    • Alt+k -> Go to previous directory in history
  • implement ELN inspired by clifm.

    • for directories shows number of files/dirs inside it as /NUMBER at end of ELN.
    • if the group is root, show file as green, show dir as green with background.
    • if the file is readonly, show it as grey.
    • if the file/dir is symlink, show it as matrix green with underline.
    • if the file has the same owner(user) and group, show it as white.
    • if the directory has the same owner(user) and group, show it as blue.
    • if the file is .epub, .pdf show it as orange (with book icon)
    • if the file is .mp3, .ogg, show it as lime (with music icon)
    • if the file is .jpg, .png, show it as purple (with picture icon)
  • press tab offer auto-completion menu.

  • just typipng any character, will show as a hint the aviable command or avaiable history.

ushl

  • implement ush language. (which will be use in ush scripts and config file)
    • implement variables
    • implment functions
    • implement if statements
    • implement for loops.
    • implement config file in: $HOME/.ushrc
      • aiblity to change prompt.
        • add git status to prompt.

windows

  • implement all current features for windows

job control

  • jobs
  • fg
  • bg
  • wait
  • disown

util

  • Ctrl+a -> beginning of line.
  • Ctrl+e -> end of line.
  • Ctrl+Shift+Right -> select next word.
  • Ctrl+Shift+Left -> select previous word.
  • Ctrl+Shift+c -> Copy selected text or current character and put it in clipboard.
  • Ctrl+Shift+v -> Paste from clipboard to current location.

Sources of inspiration

  1. write-a-shell-in-c

About

universal shell

Topics

Resources

License

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors