Commit Graph

22 Commits

Author SHA1 Message Date
TLINDEN
773584e400 - 2012-02-10 20:30:38 +01:00
TLINDEN
23c301be2a FIXED: the binary driver (NOTEDB::binary) encounters now if a note
entry is bigger then MaxNoteByte. It prints the overlapping
                part to STDERR, and a warning message and finally saves
                the complete, unchanged note entry to an external text file.
2012-02-10 20:30:10 +01:00
TLINDEN
c15c8ba731 FIXED: removed any file/path actions using '/'. replaced by portable
functions by using File::Spec. This makes it possible to run
                note unchanged on win32 (and possibly any other) environments.

FIXED:          added a whitespace to the prompt in interactive mode to
                circumvent a bug in the win32 Term::ReadLine module which causes
                the cursor to be displayed on the left side (column 0) of
                the screen.

FIXED:          added "or die" code to some commands which are running inside
                an eval{} block to fetch errors. Without the "or die"s no
                error could ever catched.

CHANGED:        removed HOME variable support of the noterc. in fact, if it
                exists, no error will occur, but it will no longer be used.
                It didn't work in older versions anyway.

ADDED:          It is now possible to quit note using CTRL-D (or: EOF)
2012-02-10 20:29:50 +01:00
TLINDEN
adb457de48 CHANGED: in the function find_editor() the alternatives vim and pico
has been removed because they would never had a match.
FIXED:          applied patch by Bill Barnard <bill@barnard-engineering.com>
                which fixes a bug in the sub format() which features bold
                hidden or underlined text. Now its possible to use a ^ char
                in hidden texts too. I applied the same for the other regexps.
ADDED:          if the config variable FormatText is set to 'simple' then
                only one * _ { or / will make the text tagged with them to
                be displayed formatted, instead of two.
ADDED:          added Term::ReadLine support (auto-completion and history).
2012-02-10 20:29:36 +01:00
TLINDEN
a43f27d328 ADDED: if FormatText is enabled one can now use a new special format
tag: //. If a text is surrounded by two slashes, i.e.: //blah//
                then it appears "invisible" by using blue forground and blue
                background color for displaying. This is handy for passwords
                since no nobody can grab you password by looking at your
                monitor, but you can copy&paste it.
2012-02-10 20:29:18 +01:00
TLINDEN
850a892bfb FIXED: oneliner note entries caused breaked displaying in interactive
mode.
FIXED:          list displaying in interactiv mode corrected. the width of the
                note number will now correctly used.
CHANGED:        the default setting of note will now be to use an external
                editor instead of stdin.
CHANGED:        the unneccessary apostrophes in listings has been removed.
ADDED:          the note version will be displayed in the titlebar of interactive
                mode.
ADDED:          new config variable AutoClear, which is turned on by default,
                which controls wether the screen shall be cleared after each
                item (display, list and so on).
2012-02-10 20:28:49 +01:00
TLINDEN
6c4ca1167c CHANGED: added the correct installation instructions to the README file.
REMOVED:        removed the usage guidelines from te README file. This information
                were redundant because its also contained in the manpage.
FIXED:          on FreeBSD the setting of MaxLen to 'auto' had no effect because the
                output of 'stty -a' which I use in note to determine the actual
                size of the terminal, is different from that on linux.
ADDED:          topics can now be abbreviated in interactive mode, which
                avoids typing. abbreviation works only if an explicit
                match could be found, otherwise the available topics that
                matches will be suggested.
2012-02-10 20:28:25 +01:00
TLINDEN
3f3206e506 CHANGED: using Makemaker instead of self-written code in Makefile.PL
for installation. No more dependency checks built-in because
                note runs out-of-the-box without additional modules, as a matter fact.
ADDED:          if a search matches exactly on one note it will be displayed
                directly, which avoids typing.
CHANGED:        the main if-else contruct for calling the several subs has
                been replaced by a simple closure call.
CHANGED:        notes will now displayed in a slightly simpler fashion in interactive
                mode, without the separator line between the title and the note.
ADDED:          note can now determine automatically the width and height of
                the terminal window it runs in (in interactive mode only) and
                sets the width/height of what it prints accordingly. the config
                variable "MaxLen" must be set to "auto" (which is the default
                from now on) to get this to work.
ADDED:          any interactive command will now clear the screen before it does
                anything. this look much more uncluttered.
ADDED:          if multiple notes are printed at once (i.e. note 1,2) then the
                separator line between them will no more being printed because
                every notes title is preceded by a line anyway.
CHANGED:        by default the default operation mode is now interactive mode,
                which is somewhat kindlier to new users.
CHANGED:        changed to order which editor note tries to find. vi got now
                higher precedence, because it is likely installed on almost
                any unix system.
CHANGED:        cosmetics.
NOTE:           increased minor version number from 1 to 2 to indicate that
                development begun after 2 1/2 years pause again :-)
2012-02-10 20:27:05 +01:00
TLINDEN
62ede07799 FIXED: Some odd typos in README and note.pod.
FIXED:          if ShortCd was on and one used "cd 3" and after that "cd .."
                then the current topic was wrong (empty $PATH).
FIXED:          if the current topic contained no notes and one created a new
                note without specifying a topic, then note did not add a
                proper topic (also because of empty $PATH).
CHANGED:        the default colors are now visible both on black and white
                backgrounds, see next entry.
ADDED:          two more color values: <white_black> and <bold>.
CHANGED:        the color hash is now in ::main instead of ::C.
2012-02-10 20:26:16 +01:00
TLINDEN
f548a0a1e2 - 2012-02-10 20:24:51 +01:00
TLINDEN
9cf564ffe4 CHANGED: does no more use the external touch command to create a new
file, use perls open() instead.
CHANGED:        excluded some of the help texts from the usage message and the
                interactive help command to a manpage.
ADDED:          new commandline flag "--encrypt" which one can use to encrypt
                the mysql database password. This will be decrypted before
                connecting to the db. There is also a new config file option
                "encrypt_passwd" which indicates an encrypted db-password.
ADDED:          another new config option "ShortCd", which can be set to "yes"
                or 1 and if set, then a command like "cd 13" would jump
                directly to the topic of the note with the number 13.
ADDED:          now you can at any time cd back to the "root" of the
                topic-structure using the command "cd /".
CHANGED:        mysql.pm does now only do a table-lock on single write
                accesses, no more on the whole session. This allows one to
                access the same db twice or more.
FIXED:          Changed README and Changelog for readability on 80 by 25
                displays. And changed indentation of the note script itself.
ADDED:          NOTEDB.pm - a generic module, which holds some methods, which
                are used by binary.pm, mysql.pm and dbm.pm.
ADDED:          NOTEDB.pm generate_search(), which allows one to
                use AND, OR and various combinations of them using ( and ).
ADDED:          a search does now return the 2nd line of a note if a matching
                note's first line is a topic.
CHANGED:        use "unshift" instead of push to add $libpath to @INC.
ADDED:          a new feature, Caching of notes. supported by binary.pm and
                mysql.pm. To turn it on, one need to set "Cache" in the config
                to a true value.
2012-02-10 20:22:49 +01:00
TLINDEN
788902c69d - 2012-02-10 20:22:14 +01:00
TLINDEN
0c293e4b81 FIXED: there was a bug in the search expression, use now \Q and \E.
ADDED:          --config <file> allows one to use another config than the default.
2012-02-10 20:15:52 +01:00
TLINDEN
7d308cde40 FIXED: there were some odd bugs in commandline parsing, some options were unavailable.
FIXED:          Forgot "PreferredEditor" config-option in the new config format.
FIXED:          the interactive "cd .." command has ignored the presence of a
                "DefaultLong" setting(and search too)... thx to Peter.
CHANGED:        Optimized a little bit the output routine, now it is better to read.
ADDED:          sub format and appropriate config-option for text formatting capabilities.
CHANGED:        changed getconfig regexp, which allows now also to use Option = Param.
FIXED:          was not possible to override config-options, which are set by default to
                something.
ADDED:          note chacks now, if a database os actually really encrypted and exits with
                an error if it s and the user turned off encryption. This protects her from
                destroying it's own database ..
2012-02-10 20:15:34 +01:00
TLINDEN
9a2d07e0e0 FIXED: the T (and t respectively) printed nothing out since 1.0.3! It does
it now again...
ADDED:          a new database backend added, NOTEDB::dbm, which uses DBM files for
                storage.
FIXED:          &display-tree returns now, if there is no note, otherwise it
                would die because of an undefined refernce.
CHANGED:        Changed the config file format completely. It is now no more a perl
                file, instead it is a simple plain text file which note parses.
CHANGED:        Changed the way, note loads it database backend. It uses now the
                $dbdriver variable as module-name, which makes it possible easily
                to write your own backend without the need to change note itself.
FIXED:          Removed Getopt::Long option "bundling", causes errors with perl
                5.6.0 and is not senceful.
FIXED:          Added the Getopt::Long option "no_ignore_case". In 1.0.4 options
                were case insensitive causing -i to be interpreted as --import
                instead of --interactive ;-(((
ADDED:          a new config option $DEFAULT_LIST, which causes note,  \
                if turned to "LONG", to use long-listing as default.    |
                But it will still be able to use short-listing if you   |
                explicit specify that.                                  |    submitted by
FIXED:          sub search prints now an appropriate error-message in   |==> Peter Palmreuther
                case no searchstring was given instead of jumping to    |    thanks a lot!
                usage.                                                  |
CHANGED:        Changed the text in the interactive help to reflect     |
                changes of verion 1.0.3 (t and T).                     /
2012-02-10 20:15:05 +01:00
TLINDEN
332db5a3dd CHANGED: Moved from @ARGV-parsing to Getopt::Long, adding options is now
much easier and I do now understand my own code ;-)
ADDED:          --raw, the "Raw Mode", which turns off any formatting of output.
2012-02-10 20:14:49 +01:00
TLINDEN
5b54b5f822 ADDED: "-" works also for --dump, but in the other direction. It causes
note to dump to standard output instead into a file.
ADDED:          you can specify - as filename for use with --import and if you want
                to create a new note. "-" stands for standardinput and it allows you
                tp pipe another commands output to note!
ADDED:          you can now use an environment variable for the passphrase (when using
                encryption). If it is presen, note will not ask for a passphrase. This
                is very usefull in comination with the addition above, for use in
                scripts.
CHANGED:        the interactive help screen is now coloured.
ADDED:          -o commandline switch, which causes note to overwrite an existing
                database when importing data from a previous dump. Very handy if
                you want to re-initialize your db, i.e. if you changed the format.
ADDED:          the long-tree-view (-T) displays now also the note-number of each
                note.
2012-02-10 20:14:24 +01:00
TLINDEN
26d9b1ce97 ADDED: Topic-Tree overview command (-t or -T).
ADDED:          Enhanced list command in interactive mode, you can now specify
                a topic which notes you want to see.
CHANGED:        updated the help and usage sections to reflect the additions above.
2012-02-10 20:14:10 +01:00
TLINDEN
2287e23f35 FIXED: fixed bug in NOTEDB::mysql, which caused note t store NULL values
in db, if encryption was off. A really dump failure :-(
2012-02-10 20:13:51 +01:00
TLINDEN
4a5dd8c4bd CHANGED: removed install.sh. use now a Makefile for installation.
ADDED:          Encryption support. Note can now encrypt notes using IDEA
                or DES as encryption-protocols(symetric).
2012-02-10 20:13:28 +01:00
TLINDEN
c38665373c FIXED: There were many new bugs after my last changes *grrrrr*. fixed.
Works now properly, with both backends!
FIXED:          and another bug: recounting of numbers did not take care about
                the existing order! If you deleted note #12, then note #13 became
                not neccessarily #12! Instead it becames any other number (kind of
                randomly...).
CHANGED:        NOTEDB::binary set_del function changed, it does no more require
                a temporary file for number recount. Instead it uses get_all and
                stores all notes in RAM and then rewrites the database.
FIXED:          fixed the set_new call within note. It used 0 as the first param
                (number) which is not useful since we dont have support for auto-
                increment from all database backends.
FIXED:          fixed the function set_recountnum in NITEDB::mysql, it was also
                incorrect :-((( 0.8 seemed to be a very bad early alpha...........
FIXED:          there was a bug in NOTEDB::binary which caused not to recount note
                numbers after deleting one :-(
2012-02-10 20:13:09 +01:00
TLINDEN
f54d187c47 ADDED: NOTEDB::binary. so now 0.8 is ready for shipping !
FIXED:          regexp bug fixed. It was only possible to delete 2 items together
                separated by comma ("d 1,2,3,4" deleted only 1,2!).
ADDED:          Some new config options which reflects the new module structure.
                So you can change your database backend without the need to
                replace the note script itself.
FIXED:          the previously added feature "cd <topic>" didn't really work :-(
ADDED:          NOTEDB::mysql added. Perlmodule, which I will use within
                note from now on instead of buildin functions for accessing the
                database. From now on I only need to maintain one version of
                note, since the module interface will be identical between the
                bin and sql version.
CHANGED:        The SQL code does not use Mysql.pm anymore. Instead it is coded
                using the more portable DBI module. This allows one easily to
                switch to anther database, which is supported by DBI.
CHANGED:        Locking. The db-table will now be locked before note accesses it.
FIXED:          width of listings is now always the same independent of the string-
                length of a certain note.
2012-02-10 20:12:25 +01:00