mqlのIDEとしてのVim - ページ 11

 
Vict:

:) 別に押し付けてるわけじゃないんですよ、私のスレッドに来てくれたんですから。無理やり連れてこられたわけではないのだから、続けるかどうかは私次第だ。

かっこいい...

 
Vict:
AWKのバグに遭遇しましたので、後ほど修正版を掲載します。

いや、自分で間違えたんだ。ちょっとしたデモを録音しました。vector_fundがどのような激しいテンプレート・マクロの寄せ集めであるかは、特筆に値します。にもかかわらず、正しいヒントと定義への移行がなされているのは、メタ・エディターとしては異例の水準である。


SZS:良い品質で見ることができます。

#vim_as_mql_ide_5

ファイル:
 
Vict:

いや、自分で間違えたんだ。ちょっとしたデモを録音しました。vector_fundがどのような激しいテンプレート・マクロの寄せ集めであるかは、特筆に値します。にもかかわらず、正しいヒントと定義への移行がなされているのは、メタ・エディターとしては異例のレベルです。


ZS: 良質なものに目を向けてください。

#vim_as_mql_ide_5

最後のアーカイブにはvimrcがありません。どうやらこのアーカイブのファイルは他のアーカイブのファイルの上に解凍される必要があるようで、一貫したセットを取得する方法はあまり明確ではありません。

neovimを積極的に使って、うまくいったら構成開発に参加 したいです。 GitHubにvimrcとすべてのユーティリティを完全に載せることは可能ですか?

 
alter-ego:

最後のアーカイブはvimrcがありません。どうやらこのアーカイブのファイルは他のアーカイブのファイルの上に解凍される必要があるようで、一貫したセットを取得する方法はあまり明確ではありません。

neovimを積極的に使って、うまくいったら構成開発に参加 します。 GitHubでvimrcと全ユーティリティを取得する方法はありますか?

ウォ - オトポルカ。

 
私はMetaEditorが好きです。
それ以外も書くのに使いたい)
 
alter-ego:

最後のアーカイブはvimrcがありません。どうやらこのアーカイブのファイルは他のアーカイブのファイルの上に解凍される必要があるようで、一貫したセットを取得する方法はあまり明確ではありません。

私はneovimを積極的に使っているので、うまくいけば構成開発に参加 したいと思います。 vimrcやすべてのユーティリティをGitHubで入手する方法はないでしょうか?

Readmeをブラッシュアップして、GitHubに掲載します。

 
alter-ego:

最後のアーカイブはvimrcがありません

そこにある、ただ隠されている (HOME/.config/nvim/init.vim), コンソールを見てください $ ls -a

ReadmeをブラッシュアップしてGitHubに掲載します

今日思ったのですが、このような形で出すのは良くない(例外を設定しながら「システム」.mqhを編集する)、何とかもっとエレガントにすべき(クラングドにmqhをc++として見るように教える、別のlspサーバーを試す、ユーザーソースをMQLツリーと別に保存する)、自分にとっては松葉杖が良いが、世界にとっては良くない、ということでした。一見さんお断り、細かい分析をしている暇は全くない。というわけで、残念ながらGitHubは延期になりました。
 

>clangdにmqhをC++として 認識させる。

これはまさに、あなたのコンフィギュレーションを実行したときに、私が最初に行ったことです。これは、init.vimに追加することで行われます。

au BufNewFile,BufRead *.mq5 set filetype=cpp
au BufNewFile,BufRead *.mqh set filetype=cpp
 
Vict:

そこにある、ただ隠されている (HOME/.config/nvim/init.vim), コンソールを見てください $ ls -a

今日思ったのですが、このような形で("system" .mqhを編集して例外を設定する)、何とかこの問題をもっとエレガントに解決する(clangdにmqhをc++として見ることを教える、別のlspサーバーを試す、ユーザーソースをMQLツリーと分けておく)ことはよくありません、自分にとってはこの支柱は良いですが、世にリリースするには - だめです。一見さんお断り、細かい分析をしている暇は全くない。というわけで、残念ながらGitHubは延期になりました。

一般に、mqlの言語サーバ(https://langserver.org/)を作るのは理にかなっています。そうすれば、vimもemacsも同じようにキャッチすることができます。そして、ビジュアルスタジオとエクリプス。しかし、このボリュームは相当なもので、90%はMQ開発者が作ったもの、つまり、誰かが作ったものに新しいバグや誤謬を加えて作り直したものです。

Langserver.org
  • langserver.org
The Language Server protocol is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, go to definition, find all references and alike into the tool The LSP was created by Microsoft to define a common language for programming language analyzers to speak. Today, several...
 
alter-ego:

>clangdにmqhをC++として 認識させる。

これはまさに、あなたのコンフィギュレーションを実行したときに、私が最初に行ったことです。これは、init.vimに追加することで行われます。

vimrcに似たような行を追加しました。

function Mql_hook()
    setlocal ft=cpp
    setlocal makeprg=compile_mql
    nnoremap <buffer> <F7> :exe "make" expand('%:p')<CR>
endfunction

augroup Mode_hooks_group
    autocmd!
    autocmd FileType c call CandCPP_hook()
    autocmd FileType cpp call CandCPP_hook()
    autocmd BufNewFile,BufRead *.mq5 call Mql_hook()
    autocmd BufNewFile,BufRead *.mqh call Mql_hook()
augroup End


mq5やmqhではオートコンプリートは正常に動作しているのですが、コピーした際に

#include <

言語サーバ(LS)はファイルによるヒントを表示しない(vimはそのままできるが、LSはcompile_flags.txtの-I...を考慮する)。うまく解決できなかったので、すべてのシステムのmqh→hhの拡張子を自動的に変更することにしたのですが、もちろん、これは松葉づえです。

ZS: MKLのプロジェクトに vimの変数パスを設定して、LSなしで正しいヒントを得ることができないかと考えていました。