Commit Graph

190 Commits (master)

Author SHA1 Message Date
TorchedSammy e0b84aaff7
feat: emit sigusr1 and 2 signal hooks 2022-01-26 15:18:09 -04:00
TorchedSammy bcc249a4bd
feat: add aliases interface (closes #87 and #86)
500th commit!
adds the `hilbish.aliases` interface
it allows you to add, delete and get all aliases

there was also a slight refactor with alias resolving in this commit,
there is a single resolve function instead of duplicate code.
with consideration this could be exported to lua side,
but i see no reason for it
2021-12-14 20:54:23 -04:00
TorchedSammy bcfbb20685
fix: dont export lua init 2021-12-08 23:31:48 -04:00
TorchedSammy 5c6310b1ca
refactor: dont export functions and types 2021-12-06 17:21:31 -04:00
TorchedSammy eaaf17a792
fix: make table for `args` instead of using luar 2021-12-06 16:32:42 -04:00
TorchedSammy f60f61e616
style: remove new line 2021-12-06 16:26:51 -04:00
TorchedSammy 28fcdb3122
fix: take care of readline segfault, update deps 2021-12-06 16:24:25 -04:00
TorchedSammy 4e2e8ddf94
fix: revert "fix: resize if terminal has been resized during running command and fix readline segfault"
This reverts commit d270e8f66b.
causes breakage
2021-12-06 16:07:23 -04:00
TorchedSammy d270e8f66b
fix: resize if terminal has been resized during running command and fix readline segfault 2021-12-06 15:53:51 -04:00
TorchedSammy 6ac4aa50b3
fix: check if interactive when handling signals 2021-12-06 15:45:35 -04:00
TorchedSammy 2a71fb0075
fix!: change xdg config file to init.lua 2021-12-06 15:42:04 -04:00
TorchedSammy 2e21af4d6b
refactor: use curuser to get homedir everywhere 2021-12-01 18:31:04 -04:00
TorchedSammy effd028658
fix: substitution of home dir to ~ when names in path match it
fixes edge cases like `/mnt/home/user`
2021-12-01 18:30:03 -04:00
TorchedSammy ce0b2ab955
fix: dont print extra new line on ctrl+d in continue prompt 2021-11-28 10:44:02 -05:00
TorchedSammy af4c3885ae
feat: add signal hooks for sigint and sigwinch (#80) 2021-11-22 15:13:05 -05:00
TorchedSammy 123f8992b1
feat: add tab completion api
tab complete is better than it was before!
there is a new `complete` function which allows adding custom arguments
to complete specific functions.
hilbish will now also complete executables if it's the first input
argument (this also works with ./)
if no completion is added for a command, hilbish will just complete
files
2021-11-22 11:24:31 -05:00
TorchedSammy 77cc7fe24a
fix: only resize term if not running command 2021-11-22 10:41:27 -05:00
sammyette b008d48c60
fix: handle ctrl c properly when not interactive 2021-10-18 12:12:54 -04:00
sammyette 37610ad8b0
fix: remove extra newline on exit 2021-10-17 16:47:04 -04:00
sammyette 9eabe5323d
fix: throw command.exit with 0 code if input is nothing 2021-10-13 22:51:38 -04:00
sammyette 0977110e79
feat: add default history dir to xdg dir, or fallback to home 2021-10-13 10:42:35 -04:00
sammyette b387b18923
fix: properly default config dir to xdg dir 2021-10-13 10:41:55 -04:00
L3af 400dd2944d
feat: respect xdg directories (#71)
* feat: respect xdg directories

* fix: move xdg vars to table

Co-authored-by: L3af <ohhaon@icloud.com>
2021-10-07 20:58:07 -04:00
sammyette bc4e0f835f
fix: revert "fix: reuse sh runner"
This reverts commit 822b2876e9.
this broke a few things with the shell so probably shouldnt do this yet
2021-09-25 22:46:06 -04:00
sammyette c95b0b55be
fix: runtime errors on linux
this fixes out of bounds error since we tried to split the username
for '\' which is only valid on windows, so i added it for windows only
2021-09-25 21:39:06 -04:00
sammyette a3cc8160d3 fix: trim off hostname in %u verb for windows 2021-07-08 03:44:57 -07:00
sammyette 4caeb7ec91 feat: replace ~ in preloadPath and sampleConfPath with homedir 2021-07-08 03:44:11 -07:00
sammyette 822b2876e9
fix: reuse sh runner
this makes it so env variables persist, and some other stuff
builtin cd actually works now :]
2021-06-20 21:48:07 -04:00
sammyette 81f7b77b8b
docs: fix description of -l flag 2021-06-12 10:49:22 -04:00
sammyette e6c4c32bd7
feat: handle -h option 2021-06-12 10:48:57 -04:00
sammyette efc956a04c
fix: cleanup, store lua commands in map 2021-06-11 21:37:52 -04:00
sammyette 419e327d95
fix: prompt for new input on error with ContinuePrompt
basically, dont disregard the error we get and dont return previous
input. now we try to prompt for new input without running the
previous if the function got an error
2021-06-11 18:26:34 -04:00
sammyette 7a8df8b9f2
revert: fix: return previous input on continue input error
This reverts commit 5b03b3cef4.
we shouldn't return this just to fix the panic,
instead just handle the error
2021-06-11 18:25:24 -04:00
sammyette 5b03b3cef4
fix: return previous input on continue input error
this is basically 72973eade7
but it actually works and doesnt break everything
if an error occurred with the ContinuePrompt function (in this case,
the error is simply EOL/ctrl d) then return previous input alone
2021-06-11 18:08:31 -04:00
sammyette 646cb93dec
feat: support comptime sample conf declaration 2021-06-09 20:33:30 -04:00
sammyette 13dc0cd857
feat: support comptime config dir declaration 2021-06-09 20:30:53 -04:00
sammyette be5ebd6ada
feat: add back cancel input on ctrl c 2021-06-08 21:00:01 -04:00
sammyette 86dbb97cae
feat: define lua require paths in var
this makes it able to be changed compile time, which should help
in support for systems that dont follow fhs (damn nix)
and windows as well, but that'll be first class
2021-06-08 19:16:37 -04:00
sammyette 1623f0d85d
fix: dont go interactive if not terminal (closes #48) 2021-06-01 22:14:59 -04:00
sammyette e0851809ab
feat: make readline agnostic, add hilbiline to test 2021-05-17 19:03:56 -04:00
sammyette 1ff3ff854b
fix: add input to history before alias expansion
since im stupid, normal commands that are aliased add
the expanded version to the history, and not the alias itself.
lua alias was added since im dumb and did `input` instead of `cmdString`
so now, history is handled once, in main.go
2021-05-16 20:09:47 -04:00
sammyette ef1ced4a04
refactor: make `hilbish` an already required module and add run function
idk how to explain this man
in code `hilbish` is now a module, which can also be required like
others. but it is already a global export as the variable of the same
name.
also
2021-05-16 17:13:28 -04:00
sammyette e29ba6a0d5
feat!: move username and version access to hilbish table
instead of having ugly `_user` and `_ver` variables,
`hilbish.user` and `hilbish.version` is used
2021-05-16 15:53:21 -04:00
sammyette 83591f9bba
fix: tryrun input from -c only if its provided 2021-05-16 08:42:20 -04:00
sammy b86912be56
chore: change default version to be latest release 2021-05-15 23:13:15 -04:00
sammy 4ce223e2f4
fix: dont make continued input spaced out
basically, if i had something like
> here i want to \
complete
it would return "here i want to  complete"
so now it doesnt anymore, if you want the space, do it manually
2021-05-15 22:25:29 -04:00
sammy 2c2eb8d69a
chore: remove old commented code 2021-05-15 09:21:19 -04:00
sammy 83a44954cd
fix(revert): feat: write errors and panics to tmp log file
This reverts commit 1e1b9d07b0.
why did i even do this in the first place
2021-05-15 09:04:27 -04:00
sammy 1e1b9d07b0
feat: write errors and panics to tmp log file 2021-05-15 07:32:25 -04:00
sammy 69c0ccc807
fix: make `version` a var
so now, it can be changed in compile time
2021-05-13 21:02:56 -04:00
sammy bb7f9e45f0
chore: bump version 2021-05-12 06:42:43 -04:00
sammy f9c1eced68
chore: bump version 2021-05-11 19:39:51 -04:00
sammy fd478e883f
feat: args variable (resolves #49)
anytime hilbish is ran as shebang or given a script to run,
itll provide an `args` variable which will be the args a user
provides to the script.
it includes the execute path, as most argv's do
2021-05-11 19:37:00 -04:00
sammy cc995e0f34
chore: bump version 2021-05-11 18:52:49 -04:00
sammy 05f5bbcfdd
fix: add -c description 2021-05-11 18:19:53 -04:00
sammy 0acae37704
chore: revert "fix: reordering init code [...]"
this reverts commit 8d5e36bcde.
apparently, when i reordered the code it caused hilbish's history
to be emptied and not work when used interactively
i literally have no idea why
2021-05-11 18:12:58 -04:00
sammy 1bacbfc778
fix: correct description for -n 2021-05-08 09:30:32 -04:00
sammy 8d5e36bcde
fix: reorder init code, making hilbish faster when used non-interactively 2021-05-08 09:30:14 -04:00
sammy 941902f43b
style: remove unneeded assign to _ 2021-05-08 09:12:21 -04:00
sammy e6382d454d
feat: add -n flag (closes #47) 2021-05-08 08:56:24 -04:00
sammy 9934ba417f
chore: bump to 0.4 2021-05-01 14:57:20 -04:00
sammy a75100d15d
feat: add _user variable
this will probably change to a better global var in the
future, but it's `_user` now.
this provides a simple, guaranteed way of getting the
current user's name
$USER (in?)correctly shows the previous user when
`su` is used, _user will always be root in this case
2021-05-01 14:51:57 -04:00
sammy 60b1b50bb3
feat: add multiline hook (resolves #19) 2021-05-01 14:25:58 -04:00
sammy f00063beaa
chore: bump version 2021-05-01 14:17:33 -04:00
sammy 7f8d8db53e
fix: errors and make login rc run before config 2021-05-01 14:17:14 -04:00
sammy 38f1d62598
feat: make hilbish act like a login shell
when a user logs in with hilbish as the user shell,
or -l/--login is passed
resolves #37
2021-05-01 14:08:42 -04:00
sammy 447775f8c4
chore: bump version 2021-05-01 13:33:05 -04:00
sammy 75d7c6acc6
chore: bump version 2021-05-01 10:51:00 -04:00
sammy 96600398b7
fix: dont be interactvive if source is provided
hilbish wont go into an interactive mode if its provided
a lua source file to run, even if -i is passed.
i feel like this makes the most sense.
2021-05-01 10:44:15 -04:00
sammy 88d9f2e21d
chore: bump version 2021-05-01 02:31:49 -04:00
sammy a7d8851de0
fix: make -i false by default and fix cmdflag comparing 2021-05-01 01:50:22 -04:00
sammy 89fc544545
feat: switch to getopt library and add running lua source files from cli 2021-05-01 01:08:55 -04:00
sammy e0cf87d272
refactor(minor): reduce the amount of module renaming 2021-04-28 18:57:28 -04:00
sammy d4ecdd5ea0
feat: -i (--interactive) and -c (--command) flag 2021-04-24 00:12:18 -04:00
sammy d9c05e485d
style: spacing between binary op 2021-04-23 23:44:59 -04:00
sammy 5d0fecf902
fix: use readline in continue prompt 2021-04-23 23:44:22 -04:00
sammy 935bed3dc6
fix: switch back to readline for the time being 2021-04-23 23:42:34 -04:00
sammy 17e12c8c2a
chore: merge from master, resolve conflicts 2021-04-20 19:31:19 -04:00
sammy 08c56a54ca
style: formatting 2021-04-20 17:52:01 -04:00
sammy 428db24831
style: put all vars in 1 var() 2021-04-20 17:51:12 -04:00
sammy 7b0b06d9bf
fix: dont make continue prompt input include a newline 2021-04-19 22:08:16 -04:00
Devin Singh 94f0ccf9f6
chore: formatting 2021-04-18 21:09:27 -05:00
sammy 050165d7b1
fix: make --login actually a flag 2021-04-18 19:01:55 -04:00
sammy aa5b68ec2b
fix: assign loginshflag to throwaway var 2021-04-18 18:53:22 -04:00
sammy 55c05a9a92
feat: add login flag (todo) 2021-04-18 18:50:18 -04:00
sammy 53adc6ab21
chore: bump verison 2021-04-18 17:48:04 -04:00
sammy e32639800e
fix: dont use readline at all 2021-04-18 15:41:37 -04:00
sammy 98ff54a4f4
fix: set prompt to nothing initially 2021-04-16 11:36:23 -04:00
sammy 385b59bfda
chore: bump version 2021-04-16 10:42:44 -04:00
sammy e2c775a89d
fix: print newline on ctrlc 2021-04-16 10:27:11 -04:00
sammy 00ff4d6149 fix: dont print "// interrupt" on ctrlc 2021-04-15 06:28:47 -04:00
sammy 2089d71ed2 feat: switch to hilbiline 2021-04-14 19:55:03 -04:00
sammy 885c54ed3f feat: ctrl c to cancel input 2021-04-14 13:20:03 -04:00
sammy c393080a2e chore: bump version 2021-04-10 08:37:51 -04:00
TorchedSammy 0fa3d50db7 feat: add -C flag (closes #20) 2021-04-07 08:40:40 -04:00
TorchedSammy 2b01d5edb2 feat: always print prompt on newline; complete missing linefeed - "\r" 2021-04-06 21:12:29 -04:00
TorchedSammy 0f01d077a4 chore: bump version 2021-04-05 23:02:29 -04:00
TorchedSammy 21033764a9 fix: use username in prompt format instead of user's real name 2021-04-05 23:01:21 -04:00
TorchedSammy fad4282345 chore: bump version 2021-04-05 18:25:55 -04:00
TorchedSammy 84d55a38b0 feat: change multiline prompt via multiprompt function (closes #13) 2021-04-05 18:09:21 -04:00