Config documentaion
Here's what I did
- Added some comments by keybinds, desktop keybinds, the TAGKEY macro, and mouse actions in config.def.h
- I made a script to parse the comments I made so documentation can be generated without as much manual effort (just need to keep adding comments for the documentation to stay up to date)
- Took the file that script outputs and combines it with a template for the manfile, so that keybinds in there stay up to date
If the scripts are not wanted I could remove that and just keep the labeling
Codacy is wrong, all of the "issues" it finds are intentional, $d is for sed not a real variable
Okay first off, thanks for the work. It certainly is not nothing, and we appreciate it.
I'm all for that sort of thing, but we should have a discussion what the single source of truth for keybinds should be and what the places are that need updated when that source changes. As one example. instantNIX uses hotkeys.md which could be auto-generated form config.def.h, and there are a couple of other places where the hotkeys are hardcoded and probably shouldn't be. Also existing tools like doxygen, sphinx and the like exist for such things, so a bash script with a bunch of black sed-magic might not be the best solution.
This is also a part of a more general thing: @paperbenni, as instantOS gets more and more contributors (which is awesome), we're also gaining more and more of the typical organizational challanges that come with teams developing software. Thinks like fragmentation of where the hotkeys are defined and documented, but also inconsistencies between how the different repos build their software and much more. From experience I know that, a good software architecture and tool choice early on is very important and saves incredible amounts of headache later. So, soon is probably a good time to look for looming issues and inconsistencies and do some architecturing.
Also existing tools like doxygen, sphinx and the like exist for such things, so a bash script with a bunch of black sed-magic might not be the best solution.
I did not know about these tools and still have no clue how much they can do, but I am not sure they can do as much as a sed script, as least for the keybinds. If they can, thats great, otherwise I think it would make sense to maybe use doxygen or sphinx to start documentation and then edit the keybind parts with something like some sed-magic, That being said I have no clue what I am talking about.
Not bashing your work, nor even talking to you eclusively or anything. I'm not even against merging it. I'm just saying, the larger conversation might be worth having and having it soon.