Commit Graph

331 Commits

Author SHA1 Message Date
Kornel Benko
2d2e2f1c6d Adv-Search: Use some free unicodes as replacement for searched spaces
Without this, it is difficult to find backslashed macros if in regexp-mode.
2020-12-10 11:36:09 +01:00
Yuriy Skalko
c0a5987181 Better naming for enums 2020-12-01 00:46:21 +02:00
Yuriy Skalko
ecf62a8f21 Refactor OutputParams
Now all Inset hierarchy uses OutputParams.h included in Inset.h.
Forward declare some enums to reduce header dependencies.
2020-11-30 13:05:03 +02:00
Yuriy Skalko
7779316e6c Include standard <regex> 2020-11-29 15:27:28 +02:00
Yuriy Skalko
8cb728c2d7 Constify 2020-11-27 12:16:45 +02:00
Kornel Benko
be50eb507f Adv-Find: Add handling for \cdot (at least if using format-search 2020-11-23 21:55:13 +01:00
Yuriy Skalko
81a5e7927b Use default member initialization 2020-11-01 22:25:03 +02:00
Yuriy Skalko
196d9caeb0 Clean includes using the output of iwyu tool 2020-10-20 11:38:55 +03:00
Yuriy Skalko
d25c10ed81 Remove duplicate and unused header includes in .cpp files 2020-10-19 18:01:11 +03:00
Yuriy Skalko
919a06718a Constify 2020-10-12 15:06:16 +02:00
Yuriy Skalko
7d38a4d126 Loop refactoring 2020-10-09 09:04:20 +03:00
Yuriy Skalko
fe85162a29 Refactoring 2020-10-05 14:55:00 +02:00
Yuriy Skalko
715b8cda54 Refactoring based on cppcheck suggestions 2020-10-03 13:39:51 +02:00
Richard Kimberly Heck
17f9d6b192 Fix warnings 2020-08-23 05:48:15 -04:00
Kornel Benko
9da4390a9b FindAdv: Correct next test (keytest/findadv-16)
Provided that the LASSERT in src/mathed/InsetMathGrid.cpp:1824
is removed.
2020-05-29 20:04:57 +02:00
Kornel Benko
8028dce129 FindAdv: Correct some testcases 2020-05-29 14:22:34 +02:00
Kornel Benko
03ad03320e Findadv: Convert some messages from LYXERR0(...) to LYXERR(Debug::INFO, ...)
Due to a hint from Scott:
> I don't think it should be printed to LYXERR0. That goes to the terminal
> for the user. Even our lyx2lyx tests fail if they detect any information
> printed to the terminal (although we escape some warnings). If "find" is
> not a good debug level for it, maybe we can put it in "info" (the first
> debug level)?
2020-05-29 08:44:56 +02:00
Kornel Benko
b7cac34d96 Findadv: 2 more possible out of range access cases corrected 2020-05-26 18:49:50 +02:00
Kornel Benko
8dd2ac7171 Findadv: Do not use out of range index into a string
Thanks Scott. Crashing if using _GLIBCXX_DEBUG preprocessor setting
2020-05-26 15:58:23 +02:00
Richard Kimberly Heck
c506f304bc Fix a number of issues that were stopping compilation with MSVC 19.
Patch from Thibaut Cuvelier, modified slightly by me (mostly for style).
2020-05-04 19:45:58 -04:00
Kornel Benko
80cd116805 Fix indentation 2020-04-07 11:47:08 +02:00
Stephan Witt
225de7830e Remove useless assignment to a local variables never read later. 2020-02-18 08:55:00 +01:00
Kornel Benko
ae7a7fa882 Adv search: fix handling of multiple params of a latex command
Fix the case of possibly nested parentheses
2020-01-03 13:11:47 +01:00
Kornel Benko
49aaf95894 Fix handling of doRemove in advanced search
Amend 11c47ddf
2020-01-01 14:03:21 +01:00
Kornel Benko
48c7d9b028 Do not search in deleted text in change tracking mode 2019-12-29 17:42:18 +01:00
Jean-Marc Lasgouttes
c73d397d32 Do not use same name for members and arguments
Spotted by cppcheck.
2019-10-27 00:06:54 +02:00
Jean-Marc Lasgouttes
714113655a Follow some of the performance advice from cppcheck
Most of that is changing string to string const &.
2019-09-13 16:23:49 +02:00
Kornel Benko
8acbcebf11 Findadv: Add some missing accents.
They are defined in lib/unicodesymols, but were not handled yet.
2019-07-30 15:21:56 +02:00
Kornel Benko
ebc7105c36 FindAdv: Cosmetics
Remove parentheses from return statements,
add '_' to private members
2019-03-21 12:58:16 +01:00
Kornel Benko
e55244ccd8 FindAdv: Added remaining accents(2) dgrave, textdoublegrave, rcap, textroundcap 2019-03-20 23:22:29 +01:00
Jean-Marc Lasgouttes
1c755fefa5 Initialize hasTitle in Intervall constructor
I also moved around some things while I was at it.

Spotted by coverity scan.
2019-03-20 17:26:56 +01:00
Kornel Benko
d7354a1a09 FindAdv: Polishing
1.) Use vector for borders, because any value may be too small
  if there are plenty of accented characters in a paragraph
2.) use '[\S]' instead of '.' in regex for 'accre'. The regex would
  otherwise find also patterns like '\ {some text}'
2019-03-18 18:28:49 +01:00
Kornel Benko
9e825d5035 FindAdv: Added remaining accents cedilla, subring, subhat subtilde 2019-03-18 12:59:40 +01:00
Kornel Benko
13b3808aa0 FindAdv: Casting to satisfy Windows compiler
Thanks to Jean-Marc Lasgouttes
2019-03-18 09:38:34 +01:00
Kornel Benko
bf4394e282 FindAdv: Expand the list of handled chars for ogonek 2019-03-17 13:06:56 +01:00
Kornel Benko
9a1a806b60 FindAdv: Correct start of search if not using regex
Do not try to find pattern inside the leading string.
2019-03-16 11:26:20 +01:00
Kornel Benko
8e7c427c7c Amend 7ac04a2b: Count and display number of replaced strings in FindAdv
We have to know if the previous call to search was a single replace or not,
so that we can correctly initialize the numer of replaed strings.
2019-03-16 08:17:09 +01:00
Kornel Benko
4eacc492a3 Typo 2019-03-13 14:14:35 +01:00
Kornel Benko
7ac04a2b75 Fix #11505. Count and display number of replaced strings in FindAdv 2019-03-13 14:06:18 +01:00
Kornel Benko
c041439c51 FindAdv: Special handling for \dot{i} and 'ß'
Different behaviour in regexp{..} for 'İ' and 'ß':
1.) lowercase routine for 'İ' gives 'İ', so that if we are searching
  while ignoring case, the string '\dot{I}' is converted to '\dot{i}'.
  In this case we have to change it to 'İ' (instead of 'i', as one would expect).

2.) If 'ß' is inserted via keybord on fresh created regexp box it appears as \lyxmathsym{ß},
  if pasted from the lyx-screen it appears as \text{ß}
2019-03-10 00:29:56 +01:00
Kornel Benko
f848183fa8 FindAdv: Expand the list of handled chars for dot below and ring above 2019-03-08 22:44:00 +01:00
Kornel Benko
b702eda4ed FindAdv: Amend cd4ae51f
Prevent to match only part of a macro.
For instance, we want find '\imath' but not '\imathxxxx'
while checking for accents.
2019-03-04 14:37:10 +01:00
Kornel Benko
cd4ae51f77 FindAdv: Amend b21c8b21: Expand the list for handled latin characters
1.) Added for 'breve' and 'grave' accents
2.) Corrected handling for 'i'-accents (allowed \hat{i} _and_ \hat{\imath})
	because of problems with ignoring case
3.) Spaces: Changed some indents in source
2019-03-04 14:05:44 +01:00
Kornel Benko
99bacf006e FindAdv: Handle some more accented latin characters.
Also try to use UTF8 encoded chars instead of their
latex equivalent if possible.
2019-03-03 14:08:27 +01:00
Kornel Benko
b21c8b214d FindAdv: Expand the list for handled latin characters 2019-03-02 22:00:20 +01:00
Kornel Benko
3541a49db4 FindAdv: Try to add the possibility to search for accented characters in regex
The problem is the handling of regex as using math-mode. That is
any accented character is converted to a math macro.
For instance "ä" --> "\\ddot{a}".
Outside of math or regex it is not converted (if used xetex flavour),
but there are other chars which are converted in math and in text (but differently)
For instance "ů"
	in math --> "\\mathring{u}"
	in text --> "\\r{u}"

TODO: determine the still not handled conversions.
It would be nice, if we could persuade math factory to not convert
these characters, but I was unable to find the place where the
conversion actually takes place.
2019-03-02 15:42:38 +01:00
Kornel Benko
9d6b71c6b3 FindAdv: Use isAlnumASCII() instead of std::isalnum()
Thanks Jean-Marc
2019-02-28 13:00:12 +01:00
Kornel Benko
2c5c397afa Amend aaffcd0b: Remove some remnants ... 2019-02-27 10:33:25 +01:00
Kornel Benko
aaffcd0b39 FindAdv: Do not use data from included listing if in search mode
Fixes #11496 	"Find and replace (advanced)" is too slow
2019-02-27 10:17:56 +01:00
Kornel Benko
b1f93e0982 FindAdv: Try to use a better algorithm to find begin of a searched string 2019-02-26 23:00:31 +01:00