Juergen Spitzmueller
ebb34a4614
Set advanced repl_buffer internal as well ( #12246 )
2021-04-11 18:06:11 +02:00
Jean-Marc Lasgouttes
4828dfb441
Indicate that we do not use a return value
...
Please Coverity.
2021-03-05 13:12:58 +01:00
Jean-Marc Lasgouttes
e6a7da3b22
Fix warning when not using Qt regexps
2021-03-05 11:54:11 +01:00
Kornel Benko
a3e10cd067
FindAdv: Added handling of some chars found in unnicodesymbols
2021-02-27 14:14:28 +01:00
Kornel Benko
77e8037f84
FindAdv: Do not distinguish between different math constructs
...
This means that searching math-mode will find instances also in
math-environments like align*, multline, ...
2021-02-19 17:12:38 +01:00
Juergen Spitzmueller
b6945764a4
Do not report false find with empty string in instant search
2021-02-18 13:00:41 +01:00
Juergen Spitzmueller
80cb0650e4
Clean up previous selections with empty searchstr on instant
2021-02-17 16:55:55 +01:00
Juergen Spitzmueller
119e8c08d4
Fix replace all in selection with change tracking
2021-02-16 09:42:17 +01:00
Juergen Spitzmueller
5980afaee0
Add support for search/replace within selection ( #2548 )
2021-02-16 08:11:09 +01:00
Juergen Spitzmueller
958213ee52
Improve instant search
2021-02-15 14:12:07 +01:00
Juergen Spitzmueller
f59b8cb657
GuiSearch: Add auto-wrap option
2021-02-15 11:30:03 +01:00
Juergen Spitzmueller
b2a317c037
Sett forward to true by default in search string parsing
2021-02-15 09:44:27 +01:00
Kornel Benko
48528d0ff0
FindAdv: Use global declaration for findOne() to be usefull for unit tests
...
cherry-pick from unit-test-adoption/dff4779b06b, author: Yuriy Skalko <yuriy.skalko@gmail.com>
2021-02-14 09:08:23 +01:00
Kornel Benko
fe792d7efe
FindAdv: Tweak language settings
...
Language settings will be ignored if
a.) User selects if with setIgnoreFormat("language", true, true)
or
b.) The pattern does not contain lang-specs other than the default language of document
or
c.) The pattern contains math parts
2021-02-13 16:20:23 +01:00
Stephan Witt
46bb8f22c9
#8055 correct processing of LFUN_WORD_FIND option flags for repeated search operations
2021-02-13 04:47:44 +01:00
Kornel Benko
4cd80de69e
FindAdv: Ignore math hull if searching for normal text
...
Helps to find strings inside math also if the pattern does not use math hull.
Needed due to the algorithm-change of searching text.
2021-02-11 14:03:46 +01:00
Juergen Spitzmueller
e35574b3ce
Store the AuthorList in the cut stack
...
Otherwise we crash when we paste text with markup into a different buffer
that has change tracking disabled (in this case, markup is now kept).
2021-02-09 16:54:21 +01:00
Kornel Benko
8d17594a33
FindAdv: Ignore '\ensuremath{' while searching
...
but keep contents
e.g. '\ensuremath{abc}' ==> 'abc'
2021-02-03 12:21:16 +01:00
Kornel Benko
3a1b19c5c3
FindAdv: Optimization
...
Using unordered_map instead of map.
Reasons:
1.) The relevant maps contain 166(Keys) and 649(Accents) entries.
This mean that average access with 'map' needs 8 to 10 compares to find the value.
2.) Since we are using at least c++11, the unordered_map is available
2.) increasing the maps (in future) needs not to be considered anymore, because
the access-time will not increase.
2021-01-31 09:53:06 +01:00
Kornel Benko
5d8cacf3ec
FindAdv: Select search for language-format depending on document language.
...
In case of search with format:
If the pattern contains language spec different to the document language
then do not ignore language setting.
Also renamed 'matchstart' in FindAndReplaceOptions to 'matchAtStart'
2021-01-25 10:52:14 +01:00
Kornel Benko
961e393b95
FindAdv: Make search for text in deleted regions configurable.
...
The function call 'search-ignore deleted false'
makes findadv to search also deleted parts,
while 'search-ignore deleted true' will omit these parts.
2021-01-22 21:11:28 +01:00
Kornel Benko
469b43c791
FindAdv: Do not search in deleted text.
2021-01-22 17:03:54 +01:00
Kornel Benko
d81673ecf0
FindAdv: Fix backward search and search for special char '{' and '}'
...
Change effects mostly searches with ignored format search.
Backwards search is much slower, but at least more or less working.
2021-01-21 13:39:25 +01:00
Kornel Benko
5f6027281d
Amend c041bb66
: Unintended debug output slipped in
2021-01-20 17:10:39 +01:00
Kornel Benko
c041bb667a
FindAdv: Fix interpretation of match-results
...
Since commit c600906d92
all matches are match-results of examined strings starting
with a character of the same cursor depth, we can be sure to match the same string again if:
1.) the number of characters to the end of the examined strings match.
2.) the match-lengths are identical
2021-01-20 12:41:37 +01:00
Kornel Benko
052cad8b17
FindAdv: Reduce the count of debug messages
2021-01-19 17:54:17 +01:00
Kornel Benko
3259f3c73e
FindAdv: Remove dead code
...
+ correct detection of backspaced '{' and '}' in regex with format search enabled
2021-01-18 17:06:05 +01:00
Kornel Benko
96f9c8fb19
FindAdv: Amend2 dacd2c45
: Handle search for '{' and '}'
...
Allow for using 'a{2,7}' to find 2 to 7 consecutive chars 'a'
2021-01-18 16:06:40 +01:00
Kornel Benko
dacd2c45b7
FindAdv: Amend ec387b6d
: Handle search for '{' and '}'
...
1) Take care of different input if changed the search-mode (with/without format)
This amends ec387b6d
2) Make the braces used in text to be treated as single characters
e.g. transform '\braceleft' to some unicode value
3) Try to use '$' as 'end of sequence' in regex
We have to remove '}' and '\n' chars from the examined string
2021-01-18 12:17:57 +01:00
Kornel Benko
ec387b6d65
FindAdv: Handle search for '{' and '}'
...
In format-search the chars '{' and '}' are understood as latex parentheses, which normally are not
part of text and are discarded.
Instead we fake them as if they were a char like \backslash or \guilemotright or such.
2021-01-18 01:10:07 +01:00
Kornel Benko
c600906d92
FindAdv: Optimizing forward search
...
Still not as fast as quick search
Also started to remove some unused code.
2021-01-17 13:35:07 +01:00
Kornel Benko
7b8e26e3ad
FindAdv: Search for innermost depth needed if matched string not inside some other inset.
2021-01-15 17:12:41 +01:00
Kornel Benko
dff9438a36
FindAdv: Discard the optional arguments of \part, \chapter, ...
...
Not easy selectable anyway, and hard to use while searching.
2021-01-14 23:25:58 +01:00
Kornel Benko
a7590d33e3
FindAdv: Add handling of regex char '^' at start also for search with disabled format
...
lyxfind.cpp:
handle \mathcircumflex inside regex
output_latex.cpp:
don't mark extra end of parameters if no options involved
2021-01-14 14:44:21 +01:00
Kornel Benko
8ca508d004
FindAdv: Refactoring some routines which was hard to understand
...
Most of the previous code is only commented out, will remove them completely later.
(Debugging this code was extremely exhausting)
2021-01-12 19:33:29 +01:00
Juergen Spitzmueller
1b2a56e2d2
Ignore tracked deletions in simple replace ( #11194 )
2021-01-12 16:13:47 +01:00
Juergen Spitzmueller
d87511308b
Ignore tracked deletions in simple find ( #11051 )
2021-01-12 16:11:58 +01:00
Kornel Benko
2318baec7b
FindAdv: Allow regex searches at start of paragraph
...
For example regex '^\w+' finds now only the first word in any paragraph
even if searching without 'ignore format' is set.
2021-01-11 14:50:03 +01:00
Kornel Benko
29b9dd8b2f
FindAdv: Search for 'whole words' with help of modified regex.
2021-01-10 23:02:55 +01:00
Kornel Benko
31c3bddd6e
FindAdv: Converting patterns without regex to use regex instead
...
Makes the code with less exceptions
(no need to differentiate beteen use_regex and !use_regex)
Move the creation of regexes to own subroutine (Handles '#if QTSEARCH ... #endif')
Use cursor position differences instead of length of matched string. This is important for putSelectionAt()
2021-01-10 17:17:37 +01:00
Kornel Benko
60980b0eda
FindAdv: Amend 474cb42e
, implement sub-match replace.
2021-01-09 17:03:30 +01:00
Kornel Benko
c3cda5ffd4
FindAdv: Save sub-matches in MatchStringAdv class
...
Prepare for use while replacing:
(backslashed numbers in the replace buffer should be replaced with the relevant
sub-matched strings.)
2021-01-08 12:05:51 +01:00
Kornel Benko
f2e49938f3
FindAdv: Save found matches (e.g. \0, \1, \2, ...)
...
Only while debugging for now. Later we may use the saved values in replace string
2021-01-07 17:04:27 +01:00
Kornel Benko
54a0b95a2b
Amend 6211469b
: FindAdv: Fine tuning
...
Handle gracefully multiple '\\'
2021-01-06 14:22:26 +01:00
Kornel Benko
6211469b5f
FindAdv: A try to handle backslashes in text
...
Otherwise we are unable to distinguish text from latex commands.
For instance '\color{blue}' in text-part is normal text, while othervise
it defines following characters as being blue colored)
2021-01-06 02:20:15 +01:00
Kornel Benko
ac6b27040a
FindAdv: Small refactoring
2021-01-04 16:57:56 +01:00
Yuriy Skalko
e8099942c7
Show caught exception message in findAdv
2021-01-04 15:45:26 +02:00
Kornel Benko
6750724717
Amend(2) 8c67cb8c
: (FindAdv: Try to make regex search with format enabled somehow faster)
...
Use innermost nesting to start searches.
Some fine tuning to determine correct match.
(If the regex contains '(\S)\1' at the end, then this regex would match '}}',
but this is often the case at and of examined string. We have to disable this invalid match.
)
2021-01-04 07:25:29 +01:00
Thibaut Cuvelier
649755f481
Rename WriteStream to TeXMathStream.
2021-01-02 19:52:23 +01:00
Kornel Benko
8c67cb8c3a
Amend f500a287
(FindAdv: Try to make regex search with format enabled somehow faster)
...
Remove 1 out of range access,
Estimate the search result of regular expression for further processing
2021-01-02 18:44:40 +01:00