Qiita でWindowsのコマンドラインとVBA、VBSをどうシンタックスハイライトすべきか 隠しマークダウンあり


本来はマイクロソフトが悪いともいえる

結局マイクロソフトはOfFiceもWindowsも投げ捨ててクラウドに移行して個人なんかあいてにしなくなるだろうなという予感がする2019年の秋、みなさまいかがお過ごしでしょうか。
ええまあオフィスの延長サポートとかWindows10のめちゃくちゃな更新を見てると普通はそう感じますね。ITメディアとか絶対言わないけど、それこそビッグデータほどではないけど、公表されている資料をみればわかります。
まあとくにまずAccessはもうなくなるかもしれないですね。なにしろSQL Serverとかぶるので。
VBAもVBSも元がVisual BasicなのでQiitaとしては全部VBです。

Dim wb As WorkBook
C:\users\name>

現在のリスト(隠しコマンドが2つあり)

  1. ABAP
  2. ActionScript
  3. Apache
  4. API Blueprint
  5. AppleScript
  6. Awk
  7. BIML
  8. 1C (BSL)
  9. C
  10. Ceylon
  11. CFScript
  12. Clojure
  13. CMake
  14. CoffeeScript
  15. Config File
  16. config config file 隠しマークダウン
  17. conf 隠しマークダウン
  18. Common Lisp
  19. Console
  20. Coq
  21. C++
  22. Crystal
  23. C#
  24. CSS
  25. D
  26. Dart
  27. diff
  28. digdag
  29. Docker
  30. DOT
  31. Eiffel
  32. Elixir
  33. Elm
  34. ERB
  35. Erlang
  36. Factor
  37. Fortran
  38. FSharp
  39. Gherkin
  40. GLSL
  41. Go
  42. Gradle
  43. Graphql
  44. Groovy
  45. Hack
  46. Haml
  47. Handlebars
  48. Haskell
  49. HTML
  50. HTTP
  51. HyLang
  52. IDL
  53. IgorPro
  54. INI
  55. Io
  56. Irb
  57. Irb_output
  58. Java
  59. JavaScript
  60. Jinja
  61. JSON
  62. Json-doc
  63. Jsonnet
  64. JSX
  65. Julia
  66. Kotlin
  67. Lasso
  68. Liquid
  69. Literate CoffeeScript
  70. Literate Haskell
  71. LLVM
  72. Lua
  73. Make
  74. Markdown
  75. MATLAB
  76. MoonScript
  77. Mosel
  78. MXML
  79. Nasm
  80. nginx
  81. Nim
  82. Nix
  83. Objective-C
  84. OCaml
  85. Pascal
  86. Perl
  87. PHP
  88. Plain Text
  89. Plist
  90. Pony
  91. powershell
  92. Praat
  93. Prolog
  94. Prometheus
  95. .properties
  96. Protobuf
  97. Puppet
  98. Python
  99. Q
  100. QML
  101. R
  102. Racket
  103. Ruby
  104. Rust
  105. Sass
  106. Scala
  107. Scheme
  108. SCSS
  109. sed
  110. shell
  111. sh Shellに同じ
  112. Sieve
  113. Slim
  114. Smalltalk
  115. Smarty
  116. SML
  117. SQL
  118. Swift
  119. TAP
  120. Tcl
  121. TeX
  122. TOML
  123. TypeScript
  124. Tulip
  125. Turtle/TriG
  126. Twig
  127. Vala
  128. Visual Basic
  129. Verilog and System Verilog
  130. VHDL 2008
  131. VimL
  132. Vue
  133. Wollok
  134. XML
  135. YAML
  136. TEXT Plain Text 隠しマークダウン
  137. conf config fileに同じ 隠しマークダウン
  138. 半角スペース4つ以上 隠しマークダウンOrバグ

Last Update: 2018-02-20
シンタックスハイライトライブラリがPygments.rbからRougeに変更されました。
これにより一部言語で「これまで対応していたが、対応されなくなったもの」が存在しています。ご注意ください。
一方で、JSXなどこれまで対応していなかった言語にも対応しました

と軽く捨てられているのがVb.netである。おおもとのVisual Basicからこのような冷たい扱いなので、改善など望むべくもない。あとバッチファイル(拡張子BAT)もない。もとのRougeにはbatchfileがあるのだが。
また、
Dotbatch
http://neos21.hatenablog.com/entry/2016/01/30/175416
もなくなっている。
https://qiita.com/KisaragiZin/items/970c386848bfc9f17afd
noneや指定なしも効かなくなっているようだ。
このため以前の解決方法は無効になっているということになる。

スペース4つ以上で勝手にシンタックスハイライトになるのはバグ?


a
と行頭から入力しました。aが表示されたと思います。
それでは1行開けて半角スペースを4つ入力してaと入れます。

a

シンタックスハイライトっぽくなりました。StackOverFlowはこんな感じですね。

VB.netで機能が死んだシンタックスハイライトは訂正する

この変更でvb.netはvbに変えていかなければならない。これは気づいた都度余裕があるときに行う。

VBA,VBScriptはvbを使う

今一つ違うので、全部分けてほしいのだが、Microsoftがあいまいなので、これをQiitaに言うのはやりたくない。
仕方がないのでvbを使う。

コマンドラインはどうするか

表示通りならShellを使うとおかしくなる

Windowsキー+RからCMDを打ち込むと以下のように通常表示される

c:\users\name>

そしてDirなどを打ち込むのが通常の操作である

c:\users\name>Dir "C:\Program files(x86)" /A-D /S

コマンドラインをフルに表示させると、Shellはおかしな表示になる

これをShellでシンタックスハイライトする
```shell
しいて言えばShellだと思うのだが、どうも違うらしい。上記のブログではshとしていがこれはShellなので結果は同じだ。

c:\users\name>
c:\users\name>Dir "C:\Program files(x86)" /A-D /S
Dir /A-D /S
Dir "C:\Program files(x86)" /A-D /S

スクリーンショットはこんな感じWindows10+FireFox

おかしいけど命令だけならShellを使えそう

それほど目立たないので、ShellはDirから始まるなど、コマンドのみなら使えそうだ。
なぜか字の頭だけが色が変わる

無難なのはPowershell?

そこでシンタックスハイライトをPowershellにする。
```powershell

c:\users\name>
c:\users\name>Dir "C:\Program files(x86)" /A-D /S
Dir /A-D /S
Dir "C:\Program files(x86)" /A-D /S

スクリーンショットがこちら

編集ウィンドウ

プレビューウィンドウ

全部緑だけどPowershellがましか

1文字目だけ変な色がつくよりいいかもしれない。
以前の解決方法は効かないし、cmdはPowershellに変わるっていうし、Powershellというのが現在の解決方法なのかな。