- When we match child files/dirs of the current dir, either the item name
is the "filename", or if it's a child-dir/somefile, then filename starts
with "child-dir + '/'".
To test create a file foo and a dir bar with a bar-file inside it then:
- `ls`, foo and bar should be underlined
- `ls bar/*`, bar/bar-file should be underlined
- type bar..., before it would be underlined, after it won't be
- Capture QString by reference in lambda.
Only '.' and '..' could be valid hotspots, but '..........' isn't. The
latter is used by some CLI tools to indicate progress ...etc.
To test, in any dir use `ls -a`, Ctrl + clicking '.' and '..' should
open the current dir and parent of the current dir respectively.
Type .......... at the prompt, before it would get underlined, after no
hotspot will be created for it.
BUG: 432779
Since there is no universal way to tell a text editor about line/column
on the cli (each editor seems to have its own scheme), there is a profile
option to let the user specify the command to use to open local text files,
e.g.:
/usr/bin/kate PATH:LINE:COLUMN
/usr/bin/gedit +LINE:COLUMN PATH
then we replace PATH LINE and COLUMN to create the cmd to pass on
to KIO::ApplicationLauncherJob.
Current use cases, opening a file at:
- specific line, from the ouput of "grep -n": "path/to/some/file:123"
- specific line/column, from the output of gcc compiler errors:
"/path/to/file:123:123"
- specific line, from the ouput of ctest, when there is a compilation error:
"[/path/to/some/file(123)]"
Change the regex to also match absolute file paths, this is useful in
general and also compilation errors usually use absolute file paths.
Tweak the regex matching text between two single/double quotes so that it
doesn't match newline characters.
Refactor the UI file to use QBoxLayouts, this way each related set of
options can be put together, which makes future changes slightly easier.
This also allowed me to remove a few includes of Profile.h
around the codebase, that used Profile::Ptr. now the compilation
is a bit faster and also does not recompile things as often.