fix: minor command module bugfixes
src/intrpr/builtin_cmds/cmd.py: Handled overlooked UnicodeDecodeError casesrc/intrpr/builtin_cmds/rs.py: Handled overlooked UnicodeDecodeError casesrc/bin/rf.py: Handled overlooked UnicodeDecodeError case
dev/pc.py: Changed Python invoke name from "python" to "python3"
refactor: interpreter engine; fix: no output bug in command module ls
src/intrpr/eng.py: Major rewrite; Refactors for external command execution; Changed data streaming processes; Made STDERR to be transferred through a pipe, too, similar to STDOUT from the child process; Streaming both STDOUT and STDERR at the same timesrc/bin/ls.py: Fixed the command not producing output following an error with a previous argumentsrc/utils/err_codes.py: Changed an error code's namesrc/utils/gen.py: Removed unnecessarry function log_to_fl(...)src/intrpr/cmd_reslvr.py: Removed calls to src.utils.gen.log_to_fl(...)
attempt fix: shell engine failure due to recursive command invokation (FAILED)
fix: unresolved import in command module rand
src/bin/rand.py: Resolved a NameError bug due to an unresolved import
chore: remove .gitignore from tracked files
fix: logic errors in prompt resolution and redirection
src/main.py: Renamed a variablesrc/intrpr/eng.py: Resolved a NameError bug in redirection logic; Fixed logical errors in prompt resolution and added an error message for invalid type of prompt variable
fix: transport endpoint bug in command module ls
src/bin/ls.py: Fixed several undefined and unbound variable bugs; Fixed an OSError problem of other items in a directory not getting listed for an transport endpoint not being connectedsrc/parser/eng.py: Fixed a TypeError bug due to no type checks
merge: branch input to branch master
feat: add compiler to build script; fix: search paths
dev/pc.py: Added flag to use clang
feat, refactor: line modes
src/main.py: Changed the input and line mode handler toreadlinefrom Python's standard library; added modes "emacs", "vi" and "raw"
chore: miscellaneous changes to several files
docs: changelog and issues update
add .gitignore to tracked files
docs: fixed typo and sentence structure, restructured doc pages, added content
docs/archi.md: Moved some sections from README, added content, updated contentREADME.md: Corrected typo, and moved some sections to other doc pages,docs/cmd_mod.md: Changed a few sentences
build: added option to Nuitka call
dev/pc.py: Added an option in the Nuitka call to stop Nuitka from stopping the program with the-coption. No idea why, but it says that the program tried to call itself, and suggested this option
fix: child process interrupt bug
src/intrpr/eng.py: Fixed bug where interrupt in child process would raise AttributeError due to None being passed to the parent to be killed in place of the child's PID
fix: general utils file logging
src/utils/gen.py: Incomplete file logging improvements
fix: command module alias order of output and error messages
src/intrpr/builtin_cmds/alias.py: Fixed output and error messages not respecting argument order
fix: logging function NameError bugs
src/utils/gen.py: Fixed NameError bugs in logging functions
feat: source info for all log levels; fix: interpreter engine return code unpack
src/intrpr/eng.py: Fixed unpack errors for external command return codesrc/utils/gen.py: Added source info for debug, info, warn, crit and fatal
feat: added source info in logging
src/utils/gen.py: Added source info in loggingsrc/bin/,src/intrpr/builtin_cmds/: Edited logging function calls to include source info
refactor: command module set; fix: general utils logging
src/intrpr/builtin_cmds/set.py: Refactor and fixed bugs; now accommodates NoneTypesrc/utils/gen.py: Fixed NameError bug in logging functions
feat: delete variable in command module set; refactor: command module set
src/intrpr/builtin_cmds/set.py: Refactored. Added support for deleting variables.
fix: history command hist
src/intrpr/builtin_cmds/hist.py: Now returns immediately if no flags are specified
chore: removed src/cfg.py (unneeded)
src/cfg.py: Removed; unnecessary file, no idea how it came up here
feat: custom logger; fix: alias command output
src/intrpr/builtin_cmds/echo.py: Removed unnecessary importsrc/logger/: Finished custom loggersrc/main.py,src/utils/gen.py: Integrated custom loggersrc/utils/consts.py: Updated var SP_CHRSsrc/intrpr/builtin_cmds/alias.py: Removed extra character from output
docs: fixed README
README.md: Minor link corrections.
fix: command modules stat and pl
src/stat.py: Changed flag parsing; added item name display before stat output.src/pl.py: Fixed help string.
docs: update releases link
README.md: Update releases link from GitHub to Gitea.
feat: command module pl process filtering
src/bin/pl.py: Added process filtering.
perf: command module ls
src/bin/ls.py: Slight performance-related change (maybe noticable for large directories)
feat, refactor: command module ls
src/intrpr/builtin_cmds/rs.py: Removed import of math module and changed max_args from math.inf to float("inf")src/bin/ls.py: Internal restructure (don't know what else to call it) of the command, with a new LsCtx (ls context) object added; Minor refactors and code improvements; Added flags -t and --almost-all to suppress entries.and..; Fixed a bug where slashes are not inserted at the end of directory names by default due to a boolean errorsrc/intrpr/builtin_cmds/echo.py: Changed the number of minimum arguments from 0 to 1
fix: load all modules in interpreter engine; chore: tweaked config values
src/intrpr/eng.py: Changed how load all modules is handled in the interpreter engine.src/cfg.py: Moved the prompt function tosrc/utils/consts.py, thus making it the default.
chore: clean up ignored files
chore: change gitignore
chore: change default date format
src/bin/ls.py: Changed default output date format.
fix: input function sequences; doc: added some documentation in same function
src/utils/gen.py: Fixed a few special sequences not working in the input functioninp(...)due to indexing logic problems; Added some documentation in the same function.
feat: command cache
src/bin/cache.py: Implemented the cache command.src/bin/sl.py: Minor, miscellaneous changes.
chore: add help object in module alias
src/bin/alias.py: Added the help object.
Basic alias functionality implemented; minor bug fixes and updates
README.md: Updated and improved a few sections.src/bin/ls.py: Added a flag to keep formatting even when no TTY is available.src/utils/gen.py: Minor bug fixes and changes in inp(...); added SIGSTOP handling.src/intrpr/eng.py: Implemented aliasing.src/intrpr/cfg_mgr.py: Implemented alias support in the config file; improved error reporting.
fix: minor bug fixes, refactor: interpreter engine; ops: change interpreter architecture; docs: general update; style: several changes, mainly in external commands
src/intrpr/eng_new.py: Removed old and dead methods from refactored engine; completed engine refactor; switched refactored engine to default, main engine (renamed fromsrc/intrpr/eng_new.pytosrc/intrpr/eng.py); NOTE: the engine is still incomplete.src/utils/gen.py: Implementedkbhit(), and wrote a class to handle input specifically. Improvedinp(...).src/intrpr/eng.py: Moved tosrc/old_vers/under the nameintrpr_eng_old_archi.py.src/parser/eng.py: Moved tosrc/old_vers/under the nameparser_eng_old_archi.py.src/bin/prn.py: Minor changes and bug fixes.src/bin/cnt.py: Minor changes and improvements.- Other miscellaneous improvements.
Fixed the program not running due to refactors
Interpreter engine rewrite (INCOMPLETE)
src/eng_new.py: Copied the engine and edited it to accommodate the new parser output. The original parser has not been changed. Only a copy of the original parser has been changed and is namedsrc/parser/eng_new.py. This interpreter engine is unfinished and will not run.- Documentation updates.
Parser re-design; fixed bugs
src/parser/: Completely re-designed the parser. The parser now returns an AST.src/intrpr/builtin_cmds/hist.py: Fixed bugs, added a flag.src/utils/gen.py: Fixed a bug in inp(...) that I (rather stupidly) accidentally included.
Completed inp(); command history implemented; command module hist implemented; renamed a few commands
src/utils/gen.py: Completed inp() (mostly) and fixed major bugs. Moved it and related functions tosrc/utils.gen.pyfromsrc/main.py.- Renamed a few commands.
- Command history implemented.
src/intrpr/builtin_cmds/hist.py: Implementedhistfor accessing history.- Documentation updates.
Planned features were added; made UX improvements; implemented command cmd
dev/pc.py: Made minor changessrc/bin/ls.py: Added in planned feature (inclusion of a flag for the display of number of inode links)src/bin/test.py: Added in the help strings in the help object of the test command (development purposes only)src/intrpr/builtin_cmds/get.py: Modified to pad only when STDOUT is a TTYsrc/intrpr/builtin_cmds/cmd.py: Started writing, and is suspended, because I don't know how to handle the output. Just letting it do its thing without capturing output does not work, because it does not obey redirection that way and I don't know what else. This current thing I do is... wrong, but I can find no other way to do it. I capture the output and write them later, which is incorrect because the program might output on STDERR and STDOUT alternatively, and the order, therefore, isn't preserved. Also, I have no idea how I'm going to output to STDERR without a header, because all the damn loggers have headers- Minor touchups here and there
Made visual changes and added in a command module
src/bin/ls.py: Removed tightening padding by using column maximum lengths. It makes the output look ridiculous for some directories, as the algorithm currently in use does not use space available to the maximum extent.src/bin/stat.py: Started writing and finished the command module.
Initial commit; version 0.1