syntactically homogeneous shell
Find a file
Aidan Hahn e916c82fa6 Merge branch 'tweaks-for-shell-use' into 'master'
Tweaks for shell use

See merge request whom/shs!2
2020-06-28 21:47:56 +00:00
ast call system executables from undefined function calls 2020-06-28 14:13:44 -07:00
cmd call system executables from undefined function calls 2020-06-28 14:13:44 -07:00
log remove extra mod files 2020-06-28 13:53:24 -07:00
stdlib function calls no longer return number tokens (cleaner output), added ? command to get return code 2020-06-28 14:20:17 -07:00
.gitignore refactored to correctly use module structure 2020-06-17 00:31:29 -07:00
Contributing.md added contribution guide 2019-11-29 13:08:40 -08:00
go.mod call system executables from undefined function calls 2020-06-28 14:13:44 -07:00
go.sum call system executables from undefined function calls 2020-06-28 14:13:44 -07:00
License.md added contribution guide 2019-11-29 13:08:40 -08:00
Readme.md fix typo in readme 2020-06-21 11:14:18 -07:00

shs

Syntactically Homogeneous Shell

Overview

This shell was created to have extremely simple syntax. S-Expressions were chosen to represent statements and the scope of language features were constrained to what could be considered practical for daily shell use. This program is meant to be practical for administrators and daily power users.

How to build

Compiling/Installation

  • For now simply run go install cmd/... for each utility you wish to use. If you have GOPATH and GOBIN set it should be usable from PATH

Adding SHS to your application

  • TODO: write a how to here
  • Make sure the GPLv3 is adhered to
  • OVERRIDE THE STDLIB GenFuncTable FUNCTION. You very likely do NOT want an available function to call system binaries in your embedded shell. Make sure the stdlib Call function is not included.

Contributing

  • Any contribution to this software is welcome as long as it adheres to the conduct guidelines specified in the Contributing.md file in this repository.
  • Consider reading the STDLIB Readme for more information on how to extend this project.

License

Copyright (C) 2019 Aidan Hahn.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.