Commit Graph

34 Commits

Author SHA1 Message Date
Juergen Spitzmueller
1efef5542b Adapt to new hunspell C++ ABI
Fixes: #10547

CMake support still missing.
2018-03-29 18:43:11 +02:00
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
Stephan Witt
3a2fc1595b Correct path names were to look for RPM based dictionaries for hunspell on Linux. 2016-05-29 17:55:44 -04:00
Stephan Witt
6799032e77 factor out lookup of loaded hunspell checkers and use it to reduce file system accesses when checking for available dictionaries 2016-05-29 21:17:08 +02:00
Stephan Witt
2992bb04da Add lookup for standard location of hunspell dictionaries of Debian packages 2014-11-18 08:56:23 +01:00
Stephan Witt
01969e59fb #8932 improved spell checker debug messages 2014-01-15 21:20:05 +01:00
Lars Gullik Bjønnes
6b2232a29c src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
Jürgen Spitzmüller
a7caeda683 Implement access to hunspell's stemming function and let the Thesaurus use that (part of bug #8060).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40830 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-02 10:20:09 +00:00
Stephan Witt
c91e2c59f4 #7884 add check for missing dictionaries when spell check starts and popup a message box to tell the user this problem if there are no dictionaries; add /usr/share/myspell for hunspell dictionary lookup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40568 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-04 22:02:07 +00:00
Pavel Sanda
a20b7acd18 Give more info whats actually going on in hunspell.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38575 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-03 18:32:14 +00:00
Stephan Witt
e755729f68 #7170 simplify the hunspell dictionary lookup; use Language::lang() instead of Language::id() as speller index
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37727 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-18 11:54:14 +00:00
Stephan Witt
4ba2c362cb #7170 add id() method for language; add variety of language to hunspell dictionary lookup; use dicts as subdirectory to search for in system_support and user_support directories
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37716 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-17 17:09:06 +00:00
Stephan Witt
a2287675d2 #7043 add the implementation of a persistent personal word list for LyX spell checker, aspell and hunspell backend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36661 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-02 18:52:31 +00:00
Stephan Witt
dec437fbac add cache of spell checker results to speed up native speller engine on macosx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35362 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-14 05:24:04 +00:00
Jean-Marc Lasgouttes
e4f2484cb5 Implement LFUN_SPELLING_REMOVE (patch from switt)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35055 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-05 20:10:40 +00:00
Jean-Marc Lasgouttes
df62af4323 fix warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34630 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-08 13:38:12 +00:00
Stephan Witt
f6071af49d avoid preprocessor macros for path constants
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34610 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-06 19:10:10 +00:00
Stephan Witt
042e8bb4d0 consolidate dictionary lookup of spellchecker and thesaurus, prepare builtin distribution of dictionaries
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34540 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-29 14:36:51 +00:00
Pavel Sanda
62ca7f3ae5 Proper camel case for FileName.absFilename
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34234 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:09 +00:00
Jürgen Spitzmüller
59d384f02b * Thesaurus.cpp:
* docstring.{cpp,h}:
	- move conversion functions to_iconv_encoding and from_iconv_encoding
	  from Thesaurus to docstring.

* HunspellChecker.cpp:
	- use correct encoding for string conversion.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33407 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-10 10:24:10 +00:00
Jürgen Spitzmüller
94761bb7e5 Fix hunspell.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33406 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-10 09:13:58 +00:00
Jürgen Spitzmüller
5c59e8c7cb * Spellchecker dialog:
- mark languages that can be spell checked.
* Thesaurus dialog:
	- mark languages that have a thesaurus dictionary.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33405 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-10 08:10:31 +00:00
Jürgen Spitzmüller
707935ab23 * store the full Language in WordLangTuple.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33378 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 11:26:49 +00:00
Jürgen Spitzmüller
4ebc0c071e * HunspellChecker.cpp:
- implement accept()

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33127 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-21 12:47:45 +00:00
Vincent van Ravesteijn
61ceded4f2 Fix HunspellChecker when the path is specified with a trailing '/'. (and revert previous stupid commit).
see: http://thread.gmane.org/gmane.editors.lyx.devel/123324

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32357 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-05 03:55:03 +00:00
Vincent van Ravesteijn
3b520b9523 Fix HUnspellChecker when the path is specified with a trailing '/'.
see: http://thread.gmane.org/gmane.editors.lyx.devel/123324

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32356 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-05 03:37:05 +00:00
Richard Heck
ab267e0f81 Fix strange problem reported by Stefano Franchi.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32339 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-04 17:38:30 +00:00
Richard Heck
1e7be42149 Fedora, and probably some other platforms, follow the en_US convention,
rather than the en-US convention, for the hunspell files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32198 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-25 16:52:45 +00:00
Abdelrazak Younes
697813c491 Fix hunspell suggestion call.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30930 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 13:43:58 +00:00
Abdelrazak Younes
21daab357b Minimal support for hunspell. Spellchecking works but not suggestion, at least on Win/MSVC.
There are two new rc preference:

* spellchecker: can now be "aspell" or "hunspell", this is selectable in the SpellChecker preference dialog
* hunspelldir_path: needed for hunspell dictionaries which are defined to be in a fixed location. This can be modified in the path preference dialog.

The SpellChecker classes could be instanciated on the fly whenerver they are needed if we want that.

Please test and help me finish this hunspell integration...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30927 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-08 17:05:31 +00:00
Abdelrazak Younes
1f53de6592 SpellChecker work:
* Move suggestion searching out of check() and onto suggest().
* Cleanup a bit AspellChecker
* Begin Hunspell support (not tested and does not link yet)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30824 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-02 09:17:32 +00:00
Abdelrazak Younes
22380826d5 Fix MSVC warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30817 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-01 18:03:26 +00:00
Abdelrazak Younes
0d626b0008 * Rename HunspellSpellChecker to HunspellChecker and ASpell to AspellChecker for consistency.
* Cleanup a bit associated CMakefile 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30813 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-01 17:24:13 +00:00