weirongxu / coc-explorer

📁 Explorer for coc.nvim
MIT License
1.14k stars 45 forks source link

[BUG] misbehaving after reveal source code from jar #508

Closed gagara closed 2 years ago

gagara commented 2 years ago

Describe the bug After attempt to reveal (with gs) buffer which holds java class from some jar (provided by coc-java extension) , many shortcuts stop working. e.g. <cr>, <bs>, h, l, o, etc

Result from CocInfo

## versions

vim version: VIM - Vi IMproved 8.2 8023950
node version: v16.13.1
coc.nvim version: 0.0.80-03c9add7cd
coc.nvim directory: /home/slg/.vim/plugged/coc.nvim
term: dumb
platform: linux

## Log of coc.nvim

2022-02-02T15:13:03.485 INFO (pid:3462557) [plugin] - coc.nvim 0.0.80-03c9add7cd initialized with node: v16.13.1 after 259ms
2022-02-02T15:13:12.283 INFO (pid:3462557) [attach] - Request action: commandList [ 'exp', 'CocCommand exp', 14 ]
2022-02-02T15:13:18.031 INFO (pid:3462557) [attach] - receive notification: runCommand [ 'explorer' ]
2022-02-02T15:13:18.051 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_coc_helper_1',
  'BufDelete',
  2
]
2022-02-02T15:13:18.051 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_explorer_2',
  'BufDelete',
  2
]
2022-02-02T15:13:21.137 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:13:24.213 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:13:25.551 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:13:27.138 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:13:27.150 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_coc_helper_1',
  'BufDelete',
  1
]
2022-02-02T15:13:27.151 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_explorer_2',
  'BufDelete',
  1
]
2022-02-02T15:13:27.151 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_coc_helper_1',
  'BufWipeout',
  1
]
2022-02-02T15:13:27.151 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_explorer_2',
  'BufWipeout',
  1
]
2022-02-02T15:13:35.096 INFO (pid:3462557) [attach] - receive notification: openList [ '-I', 'symbols' ]
2022-02-02T15:13:35.109 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_coc_helper_1',
  'BufDelete',
  3
]
2022-02-02T15:13:35.110 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_explorer_2',
  'BufDelete',
  3
]
2022-02-02T15:13:57.811 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:13:58.794 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:13:59.694 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:14:01.124 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:14:01.482 INFO (pid:3462557) [coc-java] - Using java from /opt/openjdk-bin-11.0.13_p8, version: 11
2022-02-02T15:14:01.526 INFO (pid:3462557) [extension:coc-java] - Starting Java server with: /opt/openjdk-bin-11.0.13_p8/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Dfile.encoding=utf-8 -javaagent:/home/slg/opt/lombok.jar -Xbootclasspath/a:/home/slg/opt/lombok.jar -jar /home/slg/.config/coc/extensions/coc-java-data/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /home/slg/.config/coc/extensions/coc-java-data/server/config_linux -data /home/slg/.config/coc/extensions/coc-java-data/jdt_ws_ad81b3354d034f4745f56bb689fcbef0
2022-02-02T15:14:01.546 INFO (pid:3462557) [coc-java] - JDT Language Server starting at /home/slg/projects/java/demo
2022-02-02T15:14:01.547 INFO (pid:3462557) [services] - registered service "java"
2022-02-02T15:14:01.553 INFO (pid:3462557) [language-client-index] - Language server "java" started with 3462798
2022-02-02T15:18:24.890 INFO (pid:3462557) [attach] - receive notification: openList [ '-I', 'symbols' ]
2022-02-02T15:18:24.903 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_coc_helper_1',
  'BufDelete',
  5
]
2022-02-02T15:18:24.903 INFO (pid:3462557) [attach] - receive notification: runCommand [
  'coc-helper.internal.didVimEvent_m1_v0_13_0_explorer_2',
  'BufDelete',
  5
]
2022-02-02T15:19:22.038 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:19:32.795 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:19:33.686 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:19:40.418 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:19:42.970 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:19:53.584 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:00.902 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-h' ]
2022-02-02T15:20:03.628 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-o' ]
2022-02-02T15:20:04.516 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:06.866 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:09.100 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:09.564 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:10.167 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:11.714 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:12.041 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:12.551 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:13.197 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:15.858 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:16.955 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:19.685 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:20.015 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:20.362 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:20.705 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:21.228 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:21.548 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:22.126 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:23.171 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-02T15:20:27.867 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-gs' ]
2022-02-02T15:20:36.217 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-gs' ]
2022-02-02T15:20:39.478 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:39.918 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:40.143 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:41.596 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:41.870 INFO (pid:3462557) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]
2022-02-02T15:20:48.886 INFO (pid:3462557) [attach] - receive notification: showInfo []

Steps to reproduce Steps to reproduce the behavior:

  1. execute vim
  2. :CocCommand explorer
  3. Open java project. Wait for JDT ready
  4. Open some java class from jdk. (e.g. java.lang.String) using :CocList symbols. Path to opened class reported by Ctrl+G is "jdt://contents/java.base/java.lang/String.class?=demo/%5C/opt%5C/openjdk-bin-11.0.13_p8%5C/lib%5C/jrt-fs.jar%60java.base=/javadoc_location=/https:%5C/%5C/docs.oracle.com%5C/en%5C/java%5C/javase%5C/11%5C/docs%5C/api%5C=/%3Cjava.lang(String.class"
  5. Try to reveal this buffer with gs
  6. Nothing happened. Many shortcuts stop working

Expected behavior Even if buffer can't be revealed coc-explorer should function normal

Additional context None

weirongxu commented 2 years ago

I can't reproduce, please try to upgrade the coc.nvim and coc-explorer to the latest version.

gagara commented 2 years ago

Updated. Doesn't help. Is there any way to get debug output from coc.nvim or coc-explorer?

weirongxu commented 2 years ago

You can recheck the :CocInfo and extension version in :CocList extensions.

It may be that there is no response after entering the reveal action. I have added default timeout logic for this action, you can update and retry to confirm if it times out.

gagara commented 2 years ago

updated to 0.22.2. Doesn't help :CocInfo:

2022-02-03T13:05:06.616 INFO (pid:3589109) [attach] - Request action: doKeymap [ 'explorer-key-n-gs' ]
2022-02-03T13:05:12.725 INFO (pid:3589109) [attach] - Request action: doKeymap [ 'explorer-key-n-o' ]
2022-02-03T13:05:16.853 INFO (pid:3589109) [attach] - Request action: doKeymap [ 'explorer-key-n-[bs]' ]
2022-02-03T13:05:19.998 INFO (pid:3589109) [attach] - Request action: doKeymap [ 'explorer-key-n-[cr]' ]

so after Request action: doKeymap [ 'explorer-key-n-gs' ] all following requests has no effect. Nothing happened in coc-explorer window.

If I close coc-explorer window and reload extension then it start working again.

gagara commented 2 years ago

Another (simpler) way to reproduce:

  1. cd $HOME
  2. touch /tmp/testfile
  3. Run gvim
  4. In vim run :CocCommand explorer. Make sure current directory for explorer is $HOME
  5. Open file :e /tmp/testfile. Note: path to this file is outside of $HOME directory tree
  6. In explorer gs

After this navigation in coc-explorer is broken

weirongxu commented 2 years ago

Thanks for the positive feedback on this issue, I have fixed it in the latest version

gagara commented 2 years ago

tested. works perfect. Thanks!