aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-05-17some more minor output normalizationsRobin Haberkorn1-6/+6
2019-04-19added a manpage and finalized READMERobin Haberkorn3-4/+170
2019-04-19improved normalization of listsRobin Haberkorn1-5/+5
* single VARCHAR cells will sometimes contain (semi)colon separated lists - sometimes with and sometimes without additional whitechar. They are now always normalized to ", ".
2019-04-19make check: test page generation for all words; various fixesRobin Haberkorn3-51/+73
* using the new `make check` target various bugs have been discovered. All of them were related to missing database fields.
2019-04-19changed the orientation of noun and adjective tablesRobin Haberkorn1-53/+55
* the cases are now represented by rows instead of columns - this makes table widths shorter * make sure that there is a space after each table * improved formatting of some lists in declension tables, COMPARATIVE and SUPERLATIVE sections
2019-04-18added COPYING and READMERobin Haberkorn2-0/+789
2019-04-18major changes (unfortunately not done systematically)Robin Haberkorn6-97/+542
* keep the openrussian-sql.zip to avoid bitrot (sudden breakage when building the project against a recent DB) * allow lookups against inflections. A special table `bare_inflections` was added to the DB in order to speed this up. * authentic autocompletions taking every parameter into account, using a magic `-C` parameter * language selection via locale or -L<lang> * translation lookup * allow multiple search terms on the command line without escaping * all SQL strings are properly escaped now to avoid (accidental) code insertion * luautf8 is mandatory now and used much more, which is safer than handling Unicode strings with the builtin functions * ignore "disable" database entries * added option -V (verbatim) * more protections against empty fields * print "DERIVED FROM", "AUDIO", "USAGE" and various word relation sections * print word ranking and level (A1-C2...)
2019-03-16support multiple resultsRobin Haberkorn1-70/+109
* if a search word yields multiple results, which can happen quite frequently, interactively ask the user which one to display by showing both the accented words (sometimes the only difference is in accentuation) and the translations in brackets
2019-03-16allow lookups containing accentuation character (Unicode 0x0301)Robin Haberkorn2-5/+20
* they are simply ignored * in openrussian.lua, we delegate Unicode handling to SQLite * for Bash completions, we ignore accents during matching but (have to) preserve them in the prefix -- see comments. * also properly escape SQL strings preserving accidental code injection. This means we do not necessarily have to port openrussian-completion.bash to Lua.
2019-03-15added Makefile and simple Bash completionsRobin Haberkorn4-16/+58
* this allows precompiling openrussian.lua, automatically downloads, converts and VACUUMs the openrussian database and provides an `install` target * Bash completions allow completing "bare" Russian words for the time being. Unfortunately we cannot complete with accents, since Bash completions do not allow to change the already typed word (apparently) and users aren't going to type in accents.
2019-03-15imported mysql2sqlite script from https://github.com/dumblob/mysql2sqliteRobin Haberkorn1-0/+278
* this will practically be required by everyone since I won't add any pre-generated databases. * this could be added as a submodule as well, but it's probably not worth it for a single Awk script
2019-03-15improved command-line interface, find database automatically, and adapted to ↵Robin Haberkorn1-12/+40
schema changes * ./openrussian -p <word> now directly prints to stdout, which is useful for postprocessing lookups.
2019-02-02initial commitRobin Haberkorn3-0/+280
* matches have to be direct, which is not always practical * there is no reverse search (from English search terms) * missing Makefile * missing Bash completions