aboutsummaryrefslogtreecommitdiff
path: root/apps/cassiopeia (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cassiopeia: update CLI handling and add new commandsMx Kookie2021-01-078-110/+104
|
* libkookie: add .projectile files to existing projectsKatharina Fey2020-12-311-0/+0
| | | | | | | This is required for emacs lsp to pick up where to set the root directory for language server daemons. Ideally, a future monorepo utility (such as nom) would create .projectile files automatically when creating a new project in the tree.
* cassiopeia: changing internal data representation to timeline moduleMx Kookie2020-12-217-112/+273
| | | | | | | | | | | | | | What this allows us to do is much better relationship tracking between sessions and invoices. The CASS file already has all the structure we need, and it would be silly to replicate it via complicated time association algorithms. This approach uses the linear nature of the data file to track the position relative to other entries. The timeline module is then responsible for making changes to the internal representation (in case it is being used as a library for multi-query commands), and emitting a `Delta` type that can be used to easily patch the IR in question, because the mapping between the timeline and IR representations is linear.
* cassiopeia: finishing up version 0.3.0Mx Kookie2020-12-219-33/+208
| | | | | | | | | | | | | This commit does kind of a lot to get cass(1) over the finish line. For one it implements all the CLI functions (well, almost all) with their respective parameters, and also creates a new `gen` module which uses the IR stream to generate a new file based on the old one, while updating header fields that need to be updated (currently only `version`). This version does nothing with the actual header values, and probably has a lot of bugs. More documentation will follow in future cassiopeia commits.
* cassiopeia: changing parser output to more generic IR structureMx Kookie2020-12-217-53/+289
| | | | | | | | This allows a few things: a, it's a persistant format that we can mirror to disk again, AND can adapt because all type information is known, and it allows for new entries to be added to the IR more easily, without having to worry about exact formatting, or re-inferring order from the TimeFile abstraction.
* cassiopeia: adding API outlineMx Kookie2020-12-215-12/+157
|
* cassiopeia: adding time handling utilityMx Kookie2020-12-211-0/+95
|
* cassiopeia: changing project structure and adding CLI parsingMx Kookie2020-12-217-17/+112
|
* cassiopeia: adding more types to the time file abstractionMx Kookie2020-12-217-24/+336
|
* cassiopeia: adding gitignoreMx Kookie2020-12-211-0/+1
|
* cassiopeia: implementing basic file parserMx Kookie2020-12-216-176/+198
|
* cassiopeia: adding new format lexer built on logosMx Kookie2020-12-217-2/+308
|
* cassiopeia: init projectMx Kookie2020-12-213-0/+156
This is the beginning of a Rust re-implementation of the original ruby scripts. cassiopeia is a simple time tracking tool, that integrates into the larger ecosystem of project management tools that I use to organise my business.