The Nihongo Yet Another GOing Shell

NYAGOS is the commandline-shell written with the Programming Language GO and Lua.

The-Nihongo-Yet-Another-GOing-Shell

There are some shells in Windows compatible with ones in UNIX.
But, most of them do not support Windows's traditional PATH-style like X:\DIR\FILE.EXT though a lot of applications need them as arguments.

So, I created a new shell like below:

  • UNIX-Like Shell

    • Keybinding

      • Features are bound to keys like Bash on default
      • Customized like
        • nyagos.key.c_u = "KILL_WHOLE_LINE" on %USERPROFILE%\.nyagos (Lua)
      • A lua-functions can be bound to a key like
        • nyagos.key.escape = function(this) nyagos.exec("start vim.exe") end
    • History (Ctrl-P and !-mark)

    • Alias

      • like DOSKEY
        • nyagos.alias["g++"]="g++.exe -std=gnu++17 $*"
      • ones implemented by Lua functions
        • nyagos.alias["lala"]=function(args) nyagos.exec("ls","-al",unpack(args)) end
    • Custom completions

              nyagos.complete_for["go"] = function(args)
                  if #args == 2 then
                      return {
                          "bug","doc","fmt","install","run","version",
                          "build","env","generate","list","test","vet",
                          "clean","fix","get","mod","tool" }
                  else
                      return nil -- files completion
                  end
              end
      
  • Shell that follows the Windows' style like CMD.EXE

    • Windows' path format C:\path\to\file are able to be used.
    • Each drive has its own current directory.
    • copy,move and some dos-like built-in commands work.
    • No additional DLL are required.
    • Registry are not used.
  • Support Unicode. Windows unicode APIs are used.

    • Can paste unicode character on clipboard and edit them.
    • Unicode-literal %U+XXXX%
    • Prompt Macro $Uxxxx
  • Built-in ls

    • color support (-o option)
    • print hard-link,symbolic-link and junction's target-path
  • Support OS:

    • Windows 8.1 & 10
    • Linux (experimental)

GitHub

https://github.com/zetamatta/nyagos