aboutsummaryrefslogtreecommitdiff
path: root/apps/cassiopeia (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-01-07cassiopeia: update CLI handling and add new commandsMx Kookie8-110/+104
2020-12-31libkookie: add .projectile files to existing projectsKatharina Fey1-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.
2020-12-21cassiopeia: changing internal data representation to timeline moduleMx Kookie7-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.
2020-12-21cassiopeia: finishing up version 0.3.0Mx Kookie9-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.
2020-12-21cassiopeia: changing parser output to more generic IR structureMx Kookie7-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.
2020-12-21cassiopeia: adding API outlineMx Kookie5-12/+157
2020-12-21cassiopeia: adding time handling utilityMx Kookie1-0/+95
2020-12-21cassiopeia: changing project structure and adding CLI parsingMx Kookie7-17/+112
2020-12-21cassiopeia: adding more types to the time file abstractionMx Kookie7-24/+336
2020-12-21cassiopeia: adding gitignoreMx Kookie1-0/+1
2020-12-21cassiopeia: implementing basic file parserMx Kookie6-176/+198
2020-12-21cassiopeia: adding new format lexer built on logosMx Kookie7-2/+308
2020-12-21cassiopeia: init projectMx Kookie3-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.