redguardtoo / wucuo

Fastest solution to spell check camel case code or plain text
122 stars 4 forks source link

Wucuo does not highlight the typos any more #3

Closed ztlevi closed 5 years ago

ztlevi commented 6 years ago

I got wucuo running properly couple months ago but I found it's not working any more.

Here is how things looks like. I didn't enable flyspell-prog-mode.

kapture 2018-11-02 at 11 01 29

Here is my setup:

(use-package wucuo
  :hook
  (js2-mode . wucuo-start)
  (c++-mode . wucuo-start))

Aspell version:

➜ aspell --version
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)

I am on MacOS 10.14 and emacs 26.1.

redguardtoo commented 6 years ago

It's working fine on my computer. Have you installed en dictionary? Try echo helle | aspell -a --lang=en in shell, what's output?

ztlevi commented 6 years ago

I got this output. It seems working fine.

➜ echo helle | aspell -a --lang=en
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
& helle 29 0: Heller, hell, hello, heel, he'll, Halley, Hallie, Holley, Hollie, healer, holler, huller, Hale, Hall, Hill, Hull, hale, hall, heal, hill, hole, hull, helve, belle, Holly, Hoyle, hilly, holly, hell's
redguardtoo commented 6 years ago

what's value of flyspell-generic-check-word-predicate? should be wucuo-generic-check-word-predicate

You can run M-x wucuo-start manually, then M-x flyspell-buffer. If typo can be highlighted. Then wucuo is fine. Maybe it's flyspell setup problem.

Besides, you can check documentation on wucuo-current-font-face.

ztlevi commented 6 years ago

flyspell-generic-check-word-predicate's value is wucuo-generic-check-word-predicate.

I tried manually, but nothing happened. I'm using Doom emacs and here is all the config it has and I have no further config.

Here is the face when I call wucuo-current-font-face over the const variable image

redguardtoo commented 6 years ago

what's the major-mode?

redguardtoo commented 6 years ago

I installed doom-emacs, run M-x wucuo-start, the typo is highlighted immediately. As I can see, it's not wucuo 's bug. wucuo just provide a predicate to filter out some typos. Looks flyspell does not report typos at all.

Restart Emacs, run M-x flyspell-buffer, if no typo found, report bug to doom developer. Maybe doom's default ispell-program-name is hunspell but you have not installed hunspell yet.

ztlevi commented 6 years ago

I hook the js2-mode with wucuo. Did you use the Doom emacs's develop branch? It's master branch is sort of off tracking for a while.

The value of ispell-program-name is aspell.

After I remove the wucuo hook, if I just run flyspell-buffer, flyspell seems working cuz I can use flyspell-correct-previous-word-generic to popup fix candidates.

image

But if I run wucuo-start, nothing shows up...

redguardtoo commented 6 years ago

try (wucuo-start) in init.el, you don't need setup it in hook.

redguardtoo commented 6 years ago

Install v0.0.4, (setq wucuo-debug t), reproduce the issue, then send me the output in message buffer.

ztlevi commented 6 years ago

I manually run wucuo-start in a rjsx-mode buffer.

Starting new Ispell process /usr/local/bin/aspell with english dictionary...
Checking region...
font-matched=(font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-doc-face
wucuo-generic-check-word-predicate => word=  rlt=nil wucuo-extra-predicate=(lambda (word) t)
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...1% [StyleSheet]
font-matched=(font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=, rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...2% [ViewPropTypes]
font-matched=(font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=, rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...3% [TouchableOpacity]
font-matched=(font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=, rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...4% [PropTypes]
font-matched=(font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=  rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...5% [GlobalStyles]
font-matched=(font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=  rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...6% [const]
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...6% [const]
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...7% [StyleSheet]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...9% [flexDirection]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...10% [alignItems]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...10% [marginTop]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...11% [fontSize]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...13% [backgroundColor]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...14% [borderRadius]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...15% [borderTopColor]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...16% [backgroundColor]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...17% [MoreMenu]
font-matched=(font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-function-name-face
wucuo-generic-check-word-predicate => word=  rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...18% [isVisible]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...19% [buttonReact]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...20% [propTypes]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...21% [containerStyle]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...23% [ViewPropTypes]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...24% [anchorView]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...24% [PropTypes]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...25% [showPopover]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...27% [showPopover]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...28% [anchorView]
font-matched=(js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property-access
wucuo-generic-check-word-predicate => word=) rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...28% [anchorView]
font-matched=(font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=  rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...29% [oy]
font-matched=(js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-param
wucuo-generic-check-word-predicate => word=, rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...29% [px]
font-matched=(js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-param
wucuo-generic-check-word-predicate => word=, rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...29% [py]
font-matched=(js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-param
wucuo-generic-check-word-predicate => word=) rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...30% [setState]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...31% [isVisible]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...32% [buttonReact]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...32% [px]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...33% [py]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...34% [closePopover]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...35% [updateState]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...36% [isVisible]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...37% [updateState]
font-matched=(font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-function-name-face
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...37% [dic]
font-matched=(js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-param
wucuo-generic-check-word-predicate => word=) rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...38% [setState]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...38% [dic]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...40% [onMoreMenuSelect]
font-matched=(font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-function-name-face
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...41% [closePopover]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...41% [typeof]
font-matched=nil, current-font-face=font-lock-keyword-face
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...43% [TargetComponent]
font-matched=(font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=, rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...43% [params]
font-matched=(font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=  rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...44% [menuType]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...46% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...47% [customKeyPage]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...47% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...49% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...50% [customKeyPage]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...51% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...52% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...53% [customKeyPage]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...54% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...55% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...56% [isRemoveKey]
font-matched=(js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property-access
wucuo-generic-check-word-predicate => word=  rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...57% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...58% [sortKeyPage]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...59% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...60% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...61% [sortKeyPage]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...62% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...63% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...64% [loginPage]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...65% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...65% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...66% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...67% [loadUser]
font-matched=(font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-function-name-face
wucuo-generic-check-word-predicate => word=  rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...67% [loadUser]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...68% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...69% [logoutUser]
font-matched=(font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-function-name-face
wucuo-generic-check-word-predicate => word=  rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...70% [logoutUser]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...71% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...72% [aboutMePage]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...74% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...75% [aboutPage]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...76% [canOpenURL]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...76% [openURL]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...78% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...79% [aboutPage]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...80% [TargetComponent]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...81% [params]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...82% [renderMoreView]
font-matched=(font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-function-name-face
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...83% [GlobalStyles]
font-matched=nil, current-font-face=nil
wucuo-generic-check-word-predicate => word=nil rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...83% [os]
font-matched=(font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-variable-name-face
wucuo-generic-check-word-predicate => word=_ rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...84% [ios]
font-matched=(font-lock-string-face font-lock-doc-face font-lock-comment-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=font-lock-string-face
wucuo-generic-check-word-predicate => word=' rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...84% [onClose]
font-matched=(rjsx-attr), current-font-face=rjsx-attr
wucuo-generic-check-word-predicate => word== rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...86% [closePopover]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...87% [contentStyle]
font-matched=(rjsx-attr), current-font-face=rjsx-attr
wucuo-generic-check-word-predicate => word== rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...88% [arrowStyle]
font-matched=(rjsx-attr), current-font-face=rjsx-attr
wucuo-generic-check-word-predicate => word== rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...89% [backgroundStyle]
font-matched=(rjsx-attr), current-font-face=rjsx-attr
wucuo-generic-check-word-predicate => word== rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...91% [TouchableOpacity]
font-matched=(rjsx-tag rjsx-attr), current-font-face=rjsx-tag
wucuo-generic-check-word-predicate => word=
 rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...92% [underlayColor]
font-matched=(rjsx-attr), current-font-face=rjsx-attr
wucuo-generic-check-word-predicate => word== rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...93% [onPress]
font-matched=(rjsx-attr), current-font-face=rjsx-attr
wucuo-generic-check-word-predicate => word== rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...94% [onMoreMenuSelect]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...95% [fontSize]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...96% [fontWeight]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...97% [textAlign]
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...98% [TouchableOpacity]
font-matched=(rjsx-tag rjsx-attr), current-font-face=rjsx-tag
wucuo-generic-check-word-predicate => word=> rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking...100% [renderMoreView]
font-matched=(js2-function-call js2-function-param js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-function-call
wucuo-generic-check-word-predicate => word=( rlt=nil wucuo-extra-predicate=(lambda (word) t)
Spell Checking completed.
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
line-move-visual: End of buffer
font-matched=(js2-object-property js2-object-property-access rjsx-text rjsx-tag rjsx-attr), current-font-face=js2-object-property
wucuo-generic-check-word-predicate => word=: rlt=nil wucuo-extra-predicate=(lambda (word) t)
redguardtoo commented 6 years ago

Either some aspell cli option or other flyspell predicate setup takes over. As you can see, my predicate always return nil because the input word is either nil or single character. Check your setup.

I did test doom-emacs master and develop branch. Both works.

ztlevi commented 6 years ago

I found the problem... I override forward-word method with forward-char. That's why it cannot get the proper word to check. I switch to remap functions now.😂 Thank you for your great help.

BTW: You mentioned we don't need to hook wucuo-start with major modes. But wucuo-start contain (flyspell-mode 1). It looks like OK to hook wucuo-start with other major modes. So what is the proper way to enable it for other modes?

redguardtoo commented 6 years ago

You could place (wucuo-start) in hook. I'm just thinking maybe you can save a few lines. It's up to you.