GithubHelp home page GithubHelp logo

Comments (13)

osyo-manga avatar osyo-manga commented on September 27, 2024

どもです。
お手数ですが precious.vim の設定と再現する javascript のコードを教えてもらえないでしょうか。

from vim-precious.

syngan avatar syngan commented on September 27, 2024

precious.vim の設定は何もしていません。

javascript というか, html のコードが以下になります。

<script type="text/javascript">
console.log("Hello, JavaScript")
</script>

http://d.hatena.ne.jp/osyo-manga/20130612/1371046408
にある vim のコードの場合には、一度 filetype=python などにうつると filetype=vim には戻りませんが、
filetype=ruby, filetype=python には移ります。

あと、vim語がわからないのですが... 以下のようにすると、b:precious_prev_context_filetype が空文字になって意図した動作をしています。

  1. ファイル名指定なしで vim を起動
  2. はてぶのコードを貼り付け
  3. set filetype=xxx して設定

from vim-precious.

osyo-manga avatar osyo-manga commented on September 27, 2024

うーん、こちらでは再現しませんねぇ…。

<script type="text/javascript">
console.log("Hello, JavaScript")
</script>

ひとまず javascript の原因を突き止めようと思います。
このコードを使用した場合なのですが、javascript の構文に入って、抜けた後に :echo precious#log()を呼び出すと何が返ってきますでしょうか。
また、一度 javascript の構文から抜けた後に set filetype=html を行なってから javascript の構文に入る→抜ける、とどうなりますか?

from vim-precious.

syngan avatar syngan commented on September 27, 2024

このコードを使用した場合なのですが、javascript の構文に入って、抜けた後に :echo precious#log()を呼び出すと何が返ってきますでしょうか。

function precious#autocmd_switch..precious#switch..57..<SNR>88_doautocmd_user, >7 : E216: そのようなグループもしくはイベントはありません: filetypeindent * :
Vim(doautocmd):E216: そのようなグループもしくはイベントはありません: <nomodeline
> User PreciousFileTypeLeave_html

また、一度 javascript の構文から抜けた後に set filetype=html を行なってから javascript の構文に入る→抜ける、とどうなりますか?

同じですね。javascript にはなるけどそこから元に戻りません。

ちょっと先ほどの lingr 回答おかしかったかもです.

vim 起動時:設定なし
javascript に移行後設定あり、でした。

:autocmd User
--- Auto-Commands ---
plugin-template  User
    plugin-template-*
              :
precious-switcher-autocmd_context_filetype-dummy  User
    PreciousFileTypeLeave_html
              silent! execute ''

from vim-precious.

osyo-manga avatar osyo-manga commented on September 27, 2024

どもです。
少し対応してみたのでプラグインを更新して試してもらえないでしょか。
echo precious#log() の出力内容も踏めて。

from vim-precious.

syngan avatar syngan commented on September 27, 2024

ちゃんと元の filetype に戻りました。 pukiwiki 上でも動作しました。対応ありがとうございます。

precious#log() は同じ結果なようです。

function precious#autocmd_switch..precious#switch..57..<SNR>88_doautocmd_user, >7 : E216: そのようなグループもしくはイベントはありません: filetypeindent * :
Vim(doautocmd):E216: そのようなグループもしくはイベントはありません: <nomodeline
> User PreciousFileTypeLeave_html

from vim-precious.

osyo-manga avatar osyo-manga commented on September 27, 2024

ちゃんと元の filetype に戻りました。 pukiwiki 上でも動作しました。対応ありがとうございます。

これは例外が排出された場合にも対応したからですね。根本的な解決にはなっていないませんが…。

precious#log() は同じ結果なようです。

うーん、なんだろう。
今更なんですが Vim のバージョンを教えてもらってもよろしいでしょうか。

from vim-precious.

syngan avatar syngan commented on September 27, 2024

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled May 4 2012 04:10:01)
適用済パッチ: 1-429

これでいいでしょうか?

from vim-precious.

osyo-manga avatar osyo-manga commented on September 27, 2024

どもです。
あとこのコードを手元の Vim で試してもらいたいのですが。

augroup vim-test
    autocmd!
augroup END


autocmd vim-test User TestDoautocmd echo "homu"

doautocmd <nomodeline> User TestDoautocmd

エラーが出ている辺りのコードの最小構成になっています。

from vim-precious.

syngan avatar syngan commented on September 27, 2024

あとこのコードを手元の Vim で試してもらいたいのですが。

難問ですね.. あっていますか?

  1. /tmp/a.vim にこぴぺ。
  2. vim -u NONE -U NOME -S /tmp/a.vim
/tmp/a.vim の処理中にエラーが検出されました:
行    9:
E216: そのようなグループもしくはイベントはありません: <nomodeline> User TestDoau
tocmd

from vim-precious.

osyo-manga avatar osyo-manga commented on September 27, 2024

どうやら syngan さんが使用している Vim よりも後に追加された機能を使用していたのが原因だったようです。
参考:https://groups.google.com/forum/#!topic/vim_dev/wBQm2PTJdRI

と、いう事でパッチが当たっていない Vim では使用しないようにしました。
これでもう1度試してもらえないでしょか。

from vim-precious.

syngan avatar syngan commented on September 27, 2024

ありがとうございます。
バージョンチェック追加版で正常に動作することを確認しました。
log() でもメッセージなしになりました。

from vim-precious.

osyo-manga avatar osyo-manga commented on September 27, 2024

了解です。
問題が解決したようなので閉じますね。

from vim-precious.

Related Issues (9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.