Welcome to the weekly development report or what was done in my Open Source projects in the last week.

Steam Sky

Roguelike in a sky with steampunk theme (written in Ada)

This week brings only one fix for a bug in the stable version. That's as usual means, I miss something again. ;) Well, everyone will be able soon to check what exactly I missed. In around 24 hours since this post, the new, more stable version of the game will be available for download.

The development versions continue its journey through the upgrades in the user interface. But also brings fix for the same bug which was in the stable version. This time there is even something to show, even if the list is a bit shorter than in the previous week. :)

  • Added more colors to the map info dialog, for better look and to make some information more clear. Here is how it looks now. It also triggered some updates to the game's default theme.
  • Fixed loading the player's goals from the data files.
  • As almost always, some code was moved to Nim from Ada. Now, all code related to the player's goals is in its new home. And work continues.
  • The old code got some cleanup. As usual, but this time also several new things were cleaned.

Nimalyzer

The static code analyzer for Nim programming language

A very big day in the small tool's history. ;) The project reached 0.6 milestone, and now it is in full alpha stage. No more pre-alpha. :) Well, before it happened, there were some changes in the code. Also, at the moment the development on the project is going into maintenance mode. I want to collect some data about the tool usage before I will add or change here something. Thus, I will start using it with my other projects. Expect a couple of bug-fixing releases of Nimalyzer soon. :) And here is the list of changes added to the project before the release:

  • Added better detecting if statements by ifStatements rule. Previously it didn't detect sometimes nested statements.
  • Added checking for when statements to ifStatements rule. After all they are the if statements just valid only during compilation time. ;)
  • Fixed some problems with ifStatements rule. It was crashing after the latest changes. Now it should be a bit more stable. ;)
  • The code of caseStatements rule got some small optimizations.
  • Added new rule: complexity. It allows checking the blocks in a code for their complexity metrics. At the moment only cyclomatic complexity is supported, perhaps in the future I will add more types of complexity to check.
  • As usual, updated the project's documentation with information about the latest changes, like new rule or changes to ifStatements rule.
  • Added all the new rules to the standard project's configuration file.
  • Which means, also the project's code got some updates. ;)
  • And here the new release happened. :D

Wine cellar

A graphical user interface for managing Windows programs on FreeBSD

Nothing visible to the user added this week. The whole work was focused on code refactoring and generally made it more readable and in Nim's way. ;) I've started work on higher level of binding for Nuklear library. This triggered a lot of changes in the program's code too. The work is almost finished, but I think there still is something to do. Should be finished in the next week.

Nish

The non-POSIX command shell written in Nim

And here is back one old project. ;) After almost 8 months of working on Nimalyzer I back to work on Nish. During the time I got some data, and found "several" bugs in the shell. Now it is time to fix them all. But first it needs to be able to compile the project in Nim 2.0. :)

  • One of the packages on which the project depends added a lot of new exceptions to catch. That's mean the shell stopped compiling even on Nim 1.6. So, I started work on the project from this. Almost all issues related to the exceptions fixed, just one more file left to do.
  • Updated GitHub workflow file to use the stable version of Nim plus updating the nimble package. Now only the code needs to compile on it. :D

Previous Post Next Post