Commit Graph

97 Commits

Author SHA1 Message Date
José Matos
b4db3ea137 Reformat lyx2lyx code using ruff 2024-06-15 10:06:06 +01:00
José Matos
f9ec4186d7 Update lyx2lyx folder to Python 3+
Remove support for Python 2
Take advantage of new features (euphemism) not possible before due to
python 2 compatibility
2024-06-10 10:55:40 +01:00
Scott Kostyshak
77fc67d3f0 Fix lyx2lyx issue reported on ML
The issue was reported on lyx-users by Chris Menzel [1].

Patch is from José Matos [2].

[1] https://www.mail-archive.com/search?l=mid&q=BD744D7E-54B4-4E95-A4E3-6B28F4987DE1%40gmail.com
[2] https://www.mail-archive.com/search?l=mid&q=c2ac54c2322d24051f171558ad8487ea4f7078ed.camel%40gmail.com
2023-09-06 13:07:40 -04:00
Pavel Sanda
d79637a88e Various python fixes suggested by pyupgrade.
Patch from Jose.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg217770.html
2022-07-31 00:36:51 +02:00
Juergen Spitzmueller
92f8612ace count_pars_in_inset: check nested insets 2021-01-27 08:24:17 +01:00
Richard Kimberly Heck
52a0ffc02f Change name and email in some other files 2020-12-05 17:39:46 -05:00
Richard Kimberly Heck
9a1b26a156 Format and reversion code for new counter inset. 2020-04-30 23:11:59 -04:00
Günter Milde
110247f0b7 lyx2lyx refactoring 2019-07-07 23:33:27 +02:00
Günter Milde
f1e7f5267d lyx2lyx refactoring and minor fixes. 2019-06-03 16:58:10 +02:00
Günter Milde
09e69f96dd Complete lyx2lyx for new "lineno" settings. 2019-05-24 13:51:46 +02:00
Günter Milde
a925d25085 Improve a warning in lyx2lyx.
If get_containing_layout() finds a layout without name,
it will return an empty string as layoutname.
Calling functions can thus differentiate between missing
\begin_layout and missing layoutname and give a more specific
response or warning.
2019-01-18 00:20:19 +01:00
Günter Milde
2ddaa0a59b New lyx2lyx parser tools find_substring() and set_bool_value(). 2018-02-07 18:49:20 +01:00
Günter Milde
2fce4d49ee lyx2lyx refactoring.
* use unicode.transform() instead of loop over replacements
* telling variable names
* remove trailing whitespace
* documentation update
* don't set use_ligature_dashes if both dash types are found
* remove spurious warning, normalize indentation, and use
  Python idioms in revert_baselineskip()
2018-01-31 21:13:43 +01:00
Günter Milde
a77cfef1c6 Fix some more lyx2lyx round-trips.
Also restore corrupted seminar example.
Add default return value to parser_tools.is_in_inset().
2018-01-24 01:04:14 +01:00
Günter Milde
67eca412ff Fix some lyx2lyx round-trip tests.
Fix cases where lyx2lyx adds changes with every round cycle
uncovered by recent ctest change.

Add optional `delete` argument to parser_tools.get*value():
If True, delete the matching line.

More efficient "allowbreak" con/reversion.
2018-01-23 14:01:30 +01:00
Günter Milde
8da6cdcf23 New lyx2lyx tools.
New lyx2lyx parser tools find_complete_lines() (replaces find_slice),
del_complete_lines(), and find_across_lines(). Default value 0
for start argument in utility functions.

Rework the implementation of dash-conversion.
2018-01-23 09:10:50 +01:00
Günter Milde
8e825de4b2 Fix preamble-code removal in lyx2lyx. Do some optimizations.
Fix failure of revert_dashes() found by lyx2lyx ctests
using an efficient function to find a given sequence of lines
in a list of lines.

Some optimizations using Python idioms instead of C-like code.
2018-01-21 19:55:27 +01:00
Günter Milde
6fe2e45f97 Remove trailing whitespace in lyx2lyx. 2018-01-17 09:48:08 +01:00
Richard Heck
73f59e87bd Add ability to use refstyle's plural and capitalization features. 2017-01-02 22:32:36 -05:00
José Matos
cca93dacae Improve the file format upgrade and downgrade for microtype
Add get_bool_value to parser_tools to be used in other places.
Make the upgrade convertion seamless from lyx writing the file (regarding
microtypes, there are still other dragons to chase. :-)
2016-07-13 15:01:17 +01:00
José Matos
9a0d70a45f First step to make lyx2lyx code support both python 2 and python 3 (3.3+)
Most of the changes are related with dictionaries returning views instead of
lists.

xrange -> range (since xrange is gone in python 3)

The code that is special to support both python 2 and 3 is enclosed in a comment
 \# Provide support for both python 2 and 3
and
 \# End of code to support for both python 2 and 3

And so later it can be removed safely when python 2 is no longer supported.
2015-03-11 12:09:18 +00:00
Juergen Spitzmueller
3d8b02b58e Fix bug in get_containing_inset and get_containing_layout
We have to check if this is really a parent (or just the first inset/layout we have).

Candidate for branch.
2015-02-13 10:13:43 +01:00
Juergen Spitzmueller
50a77ab2d1 Fix and simplify par params parsing in get_containing_layout.
The previous verion did not catch \align <alignment>.

Richard, this should go to branch as well.
2014-11-29 10:54:05 +01:00
Richard Heck
f83aab43e5 Whitespace. 2014-04-21 11:52:00 -04:00
Richard Heck
8f044f3c95 Patch to convert Sweave chunk paragraphs to insets (bug #8588). Work
by Liviu (C++) and Richard (Python).
2013-05-30 10:20:34 -04:00
Richard Heck
eba17c9763 Update documentation for parser tools a bit. 2013-05-23 16:11:47 -04:00
Uwe Stöhr
d750b6610f fix some more typos spotted by Yuri 2013-04-19 23:26:58 +02:00
Juergen Spitzmueller
ef541d474c Improve overprint conversion.
Deeply nested sequences are still problematic.
2012-12-20 13:29:04 +01:00
Juergen Spitzmueller
4f36061811 Proper support for beamer overprint environment
This has a list-like structure (with \onslide item commands). The previous implementation was rather useless, since it required lots of ERT. Since the new implementation is so different, we use ERT for conersion/reversion.

The lyx2lyx routines are not yet perfect, though.
2012-12-19 19:33:39 +01:00
Juergen Spitzmueller
d073cfb458 Support for beamer block arguments (#3280) 2012-12-09 17:19:21 +01:00
Juergen Spitzmueller
95934b8d27 Some refinements in the lyx2lyx methods 2012-12-09 13:41:42 +01:00
Juergen Spitzmueller
280861cd7d Consider paragraph params when placing arguments at paragraph start (#8449) 2012-12-09 11:40:14 +01:00
Juergen Spitzmueller
f8df33c2fd Fix unused get_containing_inset and get_containing layout parser methods and use the latter 2012-12-03 08:42:26 +01:00
Georg Baum
efa0f19836 More sensible longtable caption handling (needed for bug #7412)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40522 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-18 21:27:17 +00:00
Georg Baum
3da2eb41aa did anybody test this?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40520 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-18 17:48:16 +00:00
Pavel Sanda
aef6b16811 Update FSF address, patch from cornelisbb, #7735.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39523 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-25 23:10:36 +00:00
Pavel Sanda
1246a70abd Update years
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37284 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-21 13:24:23 +00:00
Richard Heck
22c7c7b144 Another try at multirow reversion. What makes this so hard is that we
have to account for the possibility of tables within tables.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36230 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-10 13:41:43 +00:00
Richard Heck
cbbc3d34e3 So I now understand why find_token_exact is called what it is, but it
does not do what it is supposed to do, in general. Still, I guess it is
best left as it is.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36129 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 17:09:43 +00:00
Richard Heck
1702cc1fa2 At least rename this argument to something that makes sense.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36128 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 17:02:26 +00:00
Richard Heck
3f47eb1883 More documentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36127 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 16:59:27 +00:00
Richard Heck
6cc1d31e38 Just a bit of safety here.
This 0 default for end is wrong. You should be able to do:
  find_token(lines, token, 0, 0)
and have that return -1. As it is, this is equivalent to:
  find_token(lines, token, 0, len(lines))
But I am afraid to change the default, in case something in lyx_1.2.py
relies upon it somehow.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36125 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 16:43:30 +00:00
Richard Heck
f93c44791d Use del_token where it makes sense to do so.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36124 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 16:33:29 +00:00
Richard Heck
b1c11faf7e This is the del_token that would be helpful.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36123 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 16:22:26 +00:00
Richard Heck
fbd0436847 Begin a bunch of comments on the parser tools. You can look through the
file, but it is more helpful to have them summarized here.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36121 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 16:18:20 +00:00
Richard Heck
665c9d78d5 Add two new routines to parser_tools. Somewhere along the way, I wished
I had these. I'm not going to go back and change more code, but these
will be worth having later.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36120 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 16:04:17 +00:00
Richard Heck
d13394a73b Rename and restructure get_containing_inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36117 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 15:18:47 +00:00
Richard Heck
0e9a0224c1 New routine: get_quoted_value.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36113 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 15:11:37 +00:00
Richard Heck
23499e63ba Move get_value_string to lyx_1_6, since it is only used there. A more
suitable replacement is forthcoming.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36112 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 15:07:32 +00:00
Richard Heck
cd99f162b3 Simplify the get_value routines a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36103 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 14:26:14 +00:00