Commit Graph

65 Commits

Author SHA1 Message Date
Christian Ridderström
e30f3d76d2 Bulk cleanup/fix incorrect annotation at the end of namespaces.
This commit does a bulk fix of incorrect annotations (comments) at the
end of namespaces.

The commit was generated by initially running clang-format, and then
from the diff of the result extracting the hunks corresponding to
fixes of namespace comments. The changes being applied and all the
results have been manually reviewed. The source code successfully
builds on macOS.

Further details on the steps below, in case they're of interest to
someone else in the future.

1. Checkout a fresh and up to date version of src/

    git pull && git checkout -- src && git status src

2. Ensure there's a suitable .clang-format in place, i.e. with options
   to fix the comment at the end of namespaces, including:

    FixNamespaceComments:                           true
    SpacesBeforeTrailingComments:                   1

and that clang-format is >= 5.0.0, by doing e.g.:

    clang-format -dump-config | grep Comments:
    clang-format --version

3. Apply clang-format to the source:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")

4. Create and filter out hunks related to fixing the namespace

    git diff -U0 src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace.patch

5. Filter out hunks corresponding to simple fixes into to a separate patch:

    pcregrep -M -e '^diff[^\n]+\nindex[^\n]+\n--- [^\n]+\n\+\+\+ [^\n]+\n'  \
        -e '^@@ -[0-9]+ \+[0-9]+ @@[^\n]*\n-\}[^\n]*\n\+\}[^\n]*\n'         \
        fix_namespace.patch > fix_namespace_simple.patch

6. Manually review the simple patch and then apply it, after first
   restoring the source.

    git checkout -- src
    patch -p1 < fix_namespace_simple.path

7. Manually review the (simple) changes and then stage the changes

    git diff src
    git add src

8. Again apply clang-format and filter out hunks related to any
   remaining fixes to the namespace, this time filter with more
   context. There will be fewer hunks as all the simple cases have
   already been handled:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")
    git diff src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace2.patch

9. Manually review/edit the resulting patch file to remove hunks for files
   which need to be dealt with manually, noting the file names and
   line numbers. Then restore files to as before applying clang-format
   and apply the patch:

    git checkout src
    patch -p1 < fix_namespace2.patch

10. Manually fix the files noted in the previous step. Stage files,
    review changes and commit.
2017-07-23 13:11:54 +02:00
Richard Heck
75bfed5507 Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
Enrico Forestieri
3cc3ff39a0 Simplify preamble code when using listings
Following an idea from Guillame.
2017-06-08 04:25:53 +02:00
Enrico Forestieri
8dab1cfe7e Fix bug #9101
Update the listings inset to optionally use the minted package
(instead of the listings one) for typesetting code listings.
Only one of the two packages can be used in a document, but it
is possible to switch packages without issues if the used options
are the same. If a switch is made and the options differ, one needs
to manually adjust them if they were entered in the advanced options
tab, or apply again the gui settings.
Note that minted requires the -shell-escape option for the latex
backend and the installation of additional software (python pygments).
2017-06-07 00:55:23 +02:00
Guillaume Munch
94e992c5ed Better construction of the TOC for floats and captions
We introduce TocBuilder for building TOCs that take into account both float
insets and their captions.

* Floats without caption are shown with their content.

* Floats with a caption are shown with their caption, but clicking the entry now
  correctly moves to the float and not to the caption.

* Subsequent captions produce additional entries in the TOC.

* Figures and subfigures are correctly ordered in the outliner.

* New TOC "senseless" for captions appearing alone (a bit like broken references
are still displayed in the menu and outliner).

* Disable LFUN_CAPTION_INSERT if there is already a caption in a listing

Known issues:

* Inconsistent output for includes located inside floats

* We should record the end of the float in addition of the beginning for a more
  accurate cursor -> outliner entry conversion
2015-09-15 15:25:33 +01:00
Richard Heck
fb4c70650c Use const ref instead of passing by value.
Thinko caught by coverity.
2015-05-12 12:52:36 -04:00
Richard Heck
7a0f7b7046 Pass XHTMLStream by reference. Problem found by coverity.
The previous code worked because we are writing to the stream, and
the actual odocstream is a member by reference of XHTMLStream.
2015-05-12 10:13:04 -04:00
Richard Heck
967e0db9e0 Fix obvious oversight. 2013-08-30 13:16:23 -04:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Richard Heck
79f428d201 Use InsetLayout to get the tag type for TOC-like things. 2013-03-27 20:03:32 -04:00
Richard Heck
d3feabfc86 Remove the "arrow" from the XHTML TOC. I think I put it there near
the beginning, when the titles themselves were not being used as
links. Now they are, so it is not needed.
2013-03-27 18:28:25 -04:00
Richard Heck
d3f6e28e35 Use the TOC:Listings layout to hold CSS information for it. 2013-03-27 18:22:20 -04:00
Richard Heck
ad6250f1a6 A little bit more cleaning up. 2013-03-27 17:19:47 -04:00
Richard Heck
2d34e48869 Re-order things a little bit. 2013-03-27 17:17:57 -04:00
Richard Heck
050142de1b Factor common code from TOC updates. 2013-03-27 17:16:34 -04:00
Richard Heck
597fdbf22f Allow for the possibility of an "InsetLayout TOC". 2013-03-27 17:06:38 -04:00
Richard Heck
5286ce6dfe Get lists of listings working for XHTML output. Fixes bug #8602. 2013-03-27 16:59:40 -04:00
Richard Heck
65b74b9a1d Fix bug #8580: Do not include material in the XHTML TOC that is not
also included in the output.
2013-03-08 16:38:45 -05:00
Richard Heck
ecef54500d Introduce max_length parameter for plaintext() output routines,
so we can write a limited amount when using this for TOC and
tooltip output.

This should solve the problem with slowness that Kornel noticed,
which was caused by our trying to write an entire plaintext
bibliography every time we updated the TOC. We did that because
he had a bibliography inside a branch, and we use plaintext for
creating the tooltip that goes with the branch list.

Other related bugs were fixed along the way. E.g., it turns out
that, if someone had an InsetInclude inside a branch, then we would
have been writing a *plaintext file* for that inset every time we
updated the TOC. I wonder if some of the other reports of slowness
we have received might be due to this kind of issue?
2013-03-08 15:12:58 -05:00
Richard Heck
03da96e0f7 Minor cleanup: We should use the usual conventions for
InsetLayout names.
2012-05-31 12:24:08 -04:00
Georg Baum
27733452f7 Native support for \lstlistoflistings 2012-04-16 21:40:59 +02:00
Jean-Marc Lasgouttes
5d3461b10f Sort out usage of INset::has Settings and Inset::clickable
* now hasSettings only means... that the inset has a settings dialog
 * and clickable means that something should happen with left-clicking on the inset

Some inset behaviours are changed:
 * (V)Space insets are not clickable anymore (the settings dialog is still accessible via context menu and Edit menu)
 * TOC inset is now shown as active
 * FloatList inset is shown as active and clicking on it opens the relevant part of the TOC dialog

This could be a candidate for branch (2.0.4)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40755 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-15 09:42:13 +00:00
Richard Heck
bfddee97e1 Better TOC output for XHTML, per Rob and Pavel.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38354 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-12 17:33:18 +00:00
Richard Heck
08e69e57bf Fix XHTML TOC translation per a suggestion of Georg's.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38333 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-11 18:43:53 +00:00
Richard Heck
461c973d62 Clean up XHTML output a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38185 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 19:18:25 +00:00
Vincent van Ravesteijn
b90de3dc5c Fix bug #7176: Clicking TOC doesn't bring up outline
Previously LFUN_INSET_SETTINGS was misused to show the outliner. As a TOC doesn't have settings, it was no longer showed after a refactorization of LFUN_INSET_SETTINGS/LFUN_MOUSE_RELEASE because InsetToc::hasSettings() returns false.

As this is a special case, we should handle this special case in InsetTOC itself.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36907 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-17 13:12:43 +00:00
Richard Heck
a81bf77314 Change the escaping mechanism for XHTML output and so allow a fix for
bug #7061.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36455 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-24 15:27:36 +00:00
Vincent van Ravesteijn
222b3580d2 More include frenzy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35940 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-31 01:04:03 +00:00
Vincent van Ravesteijn
2bbf8e5f2d Remove InsetCommand::mailer_name_.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35893 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 00:46:21 +00:00
Uwe Stöhr
7d68833dc9 remove unused include of FuncRequest
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35189 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-24 03:07:09 +00:00
Richard Heck
3efcfa3cf1 Use something simpler for the TOC links in XHTML. Some browsers don't
like the &seArr; entity.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33792 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-18 18:12:30 +00:00
Uwe Stöhr
6d41db574d InsetXXX.cpp: remove unused include of MetricsInfo.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33721 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-12 00:23:48 +00:00
Richard Heck
7cd56e334d Output labels (1.1, etc) with the TOC.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33139 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-21 19:11:46 +00:00
Richard Heck
0ac7123011 Translate TOC title to document language, not GUI language.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33138 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-21 19:01:22 +00:00
Richard Heck
3e654186d2 Move the StartTag, EndTag, and CompTag classes into the html namespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33099 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-19 22:08:04 +00:00
Richard Heck
59c04f7096 The fortoc argument I introduced earlier should all along have gone into
OutputParams. So now it is there.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33044 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-14 22:24:43 +00:00
Richard Heck
2f728e45f8 Remove the test for "tableofcontents", since that is the only thing this
inset supports right now.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32999 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-12 20:25:33 +00:00
Richard Heck
a12cd4eedc Simplify InsetTOC::xhtml now.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32992 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-12 19:39:07 +00:00
Richard Heck
228948534e A comment, and a minor change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32732 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-01 02:08:22 +00:00
Richard Heck
68db58a584 Re-organize InsetTOC to prepare for other TO*s.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32731 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-01 01:45:02 +00:00
Richard Heck
e5afe8db66 This really gets the TOC working now. We auto-generate labels for the
paragraphs the TOC targets, and link to them.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32461 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-10 20:03:35 +00:00
Richard Heck
46e70895a9 CSS for the TOC, and a couple small fixes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32460 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-10 19:28:00 +00:00
Richard Heck
ffe73b795b Initial work for InsetTOC. This does actually write a TOC, but without
any links. That is the next step.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32459 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-10 18:30:48 +00:00
Abdelrazak Younes
882e2eeb7b InsetCommand ctor: Pass 'Buffer *'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31902 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 16:10:34 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Pavel Sanda
dcc50a2454 Fix include orderings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25309 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-18 18:54:31 +00:00
Jean-Marc Lasgouttes
d954056cc2 unbreak compilation (part 4)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24634 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-06 10:42:26 +00:00
Abdelrazak Younes
45bc27809b remove unneeded includes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24628 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-06 06:48:38 +00:00
André Pönitz
75999ba650 make code look a bit more uniform
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23468 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-05 00:21:05 +00:00
André Pönitz
db8c16d554 progress on buffer-reference-in-insets. beware of instabilities...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23289 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 20:43:16 +00:00