tomas/searchindex.js

1 line
49 KiB
JavaScript
Raw Normal View History

Object.assign(window.search, {"doc_urls":["index.html#introduction","changelog.html#changelog","changelog.html#231","changelog.html#230","changelog.html#201","supportpolicy.html#support-policy","design/interfaces.html#interfaces","design/interfaces.html#design"],"index":{"documentStore":{"docInfo":{"0":{"body":46,"breadcrumbs":2,"title":1},"1":{"body":0,"breadcrumbs":2,"title":1},"2":{"body":46,"breadcrumbs":2,"title":1},"3":{"body":40,"breadcrumbs":2,"title":1},"4":{"body":14,"breadcrumbs":2,"title":1},"5":{"body":44,"breadcrumbs":4,"title":2},"6":{"body":21,"breadcrumbs":2,"title":1},"7":{"body":53,"breadcrumbs":2,"title":1}},"docs":{"0":{"body":"TOMAS ( To ny's Ma naged Operating S ystem) is a modular hobby operating system written in C# using the COSMOS framework. It comes with a respective terminal emulator using for Core testing. Both the kernel and terminal emulator will eventually support programs and plugins, respectfully. With the former allowing for running of native .NET executables and the latter Lua plugins, while taking advantage of the existing interface architecture.","breadcrumbs":"Introduction » Introduction","id":"0","title":"Introduction"},"1":{"body":"","breadcrumbs":"Changelog » Changelog","id":"1","title":"Changelog"},"2":{"body":"With the help of ChatGPT, the IProgram interface has been rewritten to handle command line arguments. Being ChatGPT derived, it's still rough around the edges (not sure what to do with IArguments right now), but it's one hell of a jumping start! Speaking of, the CST parser has been rewritten to finally support arguments with the help of ChatGPT too. While I could have always looked at FreeSO's implantation for reference, that code is just awful. It will be ported back upstream ASAP!","breadcrumbs":"Changelog » 23.1","id":"2","title":"23.1"},"3":{"body":"Split versioning systems between kernal and terminal Calendar versioning, YY.MINOR.MICRO, for kernal Semantic versioning for terminal If the file system is activate, system activity will be logged Build number based on commit hash Due to the huge time skip and architectural changes, I've (retroactively) switched to calendar versioning with v0.1 now known as v20.1 as well.","breadcrumbs":"Changelog » 23.0","id":"3","title":"23.0"},"4":{"body":"Filesystem (based on the Cosmos Wiki guide ) Semantic versioning Replaced BasicApp with AboutApp Removd TerminalCancelEventArgs and everything related to it","breadcrumbs":"Changelog » 20.1","id":"4","title":"20.1"},"5":{"body":"Although a hobby, I have wanted to test the idea of some sort of support policy for my projects. In my experience, it provides a nice fallback. For example, a bug in the unzipping process when I switched APIs in my former Blue Rose launcher and updater forced me to create an LTS out of a version that lacked the change while I searched for the cause of the problem. With the current development speed of COSMOS, a hypothetical LTS would possibly last one year.","breadcrumbs":"Support Policy » Support Policy","id":"5","title":"Support Policy"},"6":{"body":"Since 19.1, TOMAS uses a modular interface design for writing and executing programs. At the moment, the operating system doesn't yet support loading assemblies that would take advantage of this API, but it is being looked into.","breadcrumbs":"Interfaces » Interfaces","id":"6","title":"Interfaces"},"7":{"body":"IProgram is used to create the actual program while IShell executes the respective program from a dictionary. While still early in development, the approach has allowed for easy migration from one major release of COSMOS to another with little to no modifications of the code itself. public interface IProgram\n{ string Name { get; } string Description { get; } bool Entry(IShell shell, IEnumerable<KeyValuePair<string, object>> arguments);\n} public interface IShell\n{ string ReadLine { get; } Dictionary<string, IProgram> Programs { get; } IEnumerable<KeyValuePair<string, object>>? ParseArguments(IProgram program, string[] arguments);\n}","breadcrumbs":"Interfaces » Design","id":"7","title":"Desig