Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#if の3行目以降がインデントされない #1000

Closed
k-takata opened this issue Jan 2, 2017 · 11 comments
Closed

#if の3行目以降がインデントされない #1000

k-takata opened this issue Jan 2, 2017 · 11 comments

Comments

@k-takata
Copy link
Member

k-takata commented Jan 2, 2017

質問・報告の内容

C/C++ で #if や #define を書いたとき(= 'cindent' が on のとき)に、\ で行を続けているにもかかわらず 3行目以降がインデントされません。

vim -u NONE -N "+set cindent"

入力: i#if aaa\<CR>bbb\<CR>ccc<ESC>

結果:

#if aaa\
	bbb\
ccc

期待値:

#if aaa\
	bbb\
	ccc

Vimのバージョン

7.4.2367 (Cygwin)
8.0.134 (Win10)

使用している or 関係していそうなプラグイン

なし

@h-east
Copy link
Member

h-east commented Jan 2, 2017

新年あけましておめでとうございVim。
新春patchです。
https://gist.github.com/h-east/ebac02153db3c4f7cc57dc6b260231cb

make testはALL DONEになりましたが、indent系のテストは少なかった気がする。
皆さん、動作確認をお願いします。

OKならmisc1.c修正部分のwrapを直してtest追加します。

@k-takata
Copy link
Member Author

k-takata commented Jan 2, 2017

良さそうです。 👍

@h-east
Copy link
Member

h-east commented Jan 4, 2017

test3.{in,ok} (cindentのold style test)をnew style testに変換しようとしてるんですけど、例えば1つめのcindent対象が約1000行あるんです。それをcall assert_equal(expect, getline(1, '$'))してNGだった場合、

From test_cindent.vim:
Executing Test_cindent()
Executed 1 test
1 FAILED:
Found errors in Test_cindent():
function RunTheTest[13]..Test_cindent line 5: Expected [1000のリストの内容] but got [1000のリストの内容]

とリスト数1000の内容が2つガーッと表示されて全然有益じゃないウザいだけの表示になってしまうのですが、なんかいい方法ないですかね?

@k-takata
Copy link
Member Author

k-takata commented Jan 7, 2017

assert_equal() の第3引数にいい感じのメッセージを入れればいいんじゃないでしょうか。

@h-east
Copy link
Member

h-east commented Jan 7, 2017

diff -ru okファイル outファイル相当の文字列を作って~~ と思ったんですがちょっと面倒いので保留。
とりあえず今回はtest3にテスト追加してpatch投げることにします。←今まさにこの作業をやりかけてました。

@h-east
Copy link
Member

h-east commented Jan 7, 2017

Old style test(test3)にテストを追加してvim_devに投げました。
https://groups.google.com/d/msg/vim_dev/Ri2kR6UOkeA/KpMrhPjPBQAJ

@h-east
Copy link
Member

h-east commented Jan 7, 2017

test3をNew style testに置き換える作業は途中の状態で置いてます。春に再始動!?
test3(old style test) convert to test_cindent.vim(new style test) [WIP]
https://gist.github.com/h-east/8e5fb53b928d4ac1ab7e0e9cadcf5f80

@k-takata
Copy link
Member Author

k-takata commented Jan 7, 2017

This test might be easier as an old style test.

だそうで。

@h-east
Copy link
Member

h-east commented Jan 7, 2017

@k-takata assert_equal_unified_diff()的な関数作って~:cat2::dash:

  • リスト専用で
  • 差分があった場合、unified diffな出力をしてくれる

@k-takata
Copy link
Member Author

k-takata commented Jan 7, 2017

8.0.0148
https://groups.google.com/d/topic/vim_dev/ujnDZrgfl2o/discussion
ありがとうございました。

差分があった場合、unified diffな出力をしてくれる

Vim自身がdiff機能を持たないといけなくなるじゃないですか~。

@h-east
Copy link
Member

h-east commented Jan 7, 2017

引数を追加した関数のprototype宣言が消されててあれ?ってなってBram氏に突っ込みを入れたけど、関数本体が使用箇所より先にあるからOKなのか。。
https://groups.google.com/d/msg/vim_dev/ujnDZrgfl2o/ZEH01ObXBQAJ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants