aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/glob.cpp
AgeCommit message (Collapse)AuthorFilesLines
2015-06-12support UNIX-shell-like tilde-expansions in file names and directoriesRobin Haberkorn1-18/+18
* expands to the value of $HOME (the env variable instead of the register which currently makes a slight difference). * supported for tab-completions * supported for all file-name accepting commands. The expansion is done centrally in StateExpectFile::done(). A new virtual method StateExpectFile::got_file() has been introduced to pass the expanded/processed file name to command implementations. * sciteco(7) has been updated: There is now a separate section on file name arguments and file name handling in SciTECO. This information is important but has been scattered across the document previously. * optimized is_glob_pattern() in glob.h
2015-05-25extended <EN> command and used it to optimize "lexer.test..." macrosRobin Haberkorn1-37/+230
* EN may now be used for matching file names (similar to fnmatch(3)). This is used to check the current buffers file extension in the lexer configuration macros instead of using expensive Q-Register manipulations. This halves the overall startup time - it is now acceptable even with the current amount of lexer configurations. * EN may now be used for checking file types. session.tes has been simplified. * BREAKS macro portability (EN now has 2 string arguments). * The Globber class has been extended to allow filtering of glob results by file type.
2015-03-10dirname length calculation moved from glob.cpp to file_get_dirname_len() in ↵Robin Haberkorn1-5/+4
ioview.h this function is very useful in other places as well (e.g. command line tab completion)
2015-03-10fixed globbing (EN command) for pattern without directory and on WindowsRobin Haberkorn1-9/+28
* Globbing without directory (e.g. EN*.cpp$) introduced a "./" into the expanded file names. It no longer does that. * The expanded file names will have the exact same directory component (if any) as the glob pattern. So on Windows, the directory separators in the list of expanded files is exactly as the user requested. * Also fixes lexers.tes on Windows because the script assumes forward slashes.
2015-02-11updated copyright to 2015Robin Haberkorn1-1/+1
2014-12-15fixed globbing of non-existing directoriesRobin Haberkorn1-0/+4
* for non-existing directories, NULL was passed to g_dir_read_name(). This resulted in Glib errors being printed to stdout/stderr. * this was broken in commit 427c9d
2014-11-22added globbing command ENRobin Haberkorn1-0/+152
* implements the same globbing as the EB command already did * uses Globber helper class that behaves more like UNIX glob(). glib only has a glob-style pattern matcher. * The Globber class may be extended later to provide more UNIX-like globbing. * lexer.tes has been updated to make use of globbing. Now, lexers can be automatically loaded and registered at startup. To install a new lexer, it's sufficient to copy a file to the lexers/ directory.