Up until now the julian package relied on the time.Time type to
represent Gregorian dates, and julian.Date to represent Julian dates,
however this both looks inconsistent, and is more opaque and complicated
because time.Time carries with it a lot of information we don't care
about.
Therefore this has been modified, now the conversion package has two
types julian.JDate and julian.GDate for their respective calendars.
The julian.Date type will be used within the project to support indexing
of holidays using the Julian calendar, Gregorian dates are implemented
by using time.Time (since it is already gregorian). Currently only
conversion Julian->Gregorian has been implemented, but the opposite will
be added soon.
Until this commit there was a bug which caused the current selected
year to change if the user 'L'-ed past the right of December, while
the number of months which can fit into one row did not divide 12.
The source code of the project has been split up into several packages,
each one pertaining to different aspects of the system. Currently there
is a main package, a drw package, containing all the funcitons
regarding the drawing of the calendar, and a util package containing
time-related project specific functions and general utility functions
for the project.
There are plenty of subsystems in the program which have not even been
developed yet, and new packages will be made pertaining to those. The
package tree may be heavily reorganized in the near future.
This commit will enable the user of the program to navigate the dates
within a given year, using vi-like keybindings. The movement between
months should act intuitively across different sizes of the terminal.