Kornel Benko
942121f4b6
FindAdv: Added handling of some missing Hebrew characters
2021-12-21 14:16:49 +01:00
Kornel Benko
20fd104cf2
FindAdv: Added handling of 0x019b
2021-11-12 13:29:22 +01:00
Yuriy Skalko
6a7c9d12f9
Amend d3c335a5d5
2021-10-05 17:10:51 +03:00
Yuriy Skalko
325c405541
Remove redundant semicolons reported by GCC with -Wextra-semi option
2021-09-28 11:28:43 +03:00
Scott Kostyshak
47b0c33820
find: give status message when auto-wrapping
...
When auto-wrap is enabled, it is sometimes informative to know
when the search wraps.
A status message is consistent with LibreOffice and Vim.
2021-07-16 15:50:30 -04:00
Scott Kostyshak
abc65d4700
refactor: keep meaning of a variable consistent
...
We now use a new variable, "wrap", to track if a wrap should be
done, which is true either if "auto_wrap" is true or if the user
chooses to wrap in the dialog.
This preserves the meaning of the "auto_wrap" variable and also
removes the confusion of why the previous code of
if (!auto_wrap) {
...
}
if (auto_wrap) {
did not use an "else" instead of the second "if".
No change in functionality.
2021-07-16 15:50:30 -04:00
Kornel Benko
8f4ed83f9a
FindAdv: Added handling of Thai characters
2021-06-04 14:49:46 +02:00
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