高かった global の壁
どうもりんこです。
歯がいてーでやんす。以前歯医者にいって,削られて以来,
前歯の異常なまでの知覚過敏的なものに悩まされているわけで。
治療した晩,激歯痛に悩まされ,眠剤とかぶっこんで無理矢理寝たのです。
その後,歯医者に行ったら,歯医者の先生曰く,かなり削ったので,第2象牙質?がでていて,
それでしみるのかもしれんのこと。時間がたてばなおるかもね〜,と軽い感じ。
えぇ〜。
それから,数ヶ月たった今日。
おかしい。何かがおかしい。
悪化している気がする。モノを噛んだときに,違う痛みが発生する。
歯を削って以来,おかしな痛みに悩まされるようになった。
あと,そのしみる場所の近くをデンタルフロスで掃除すると,引っかかる。
引っかかるときは虫歯の可能性があるらしい。
しかし,レントゲン撮っても虫歯は確認できなかったのこと。
うーん。ん?
あれ? これってあの医者がや(ry。
しゃーない,近いうちにいっとくか。
歯医者金かかるからやなんだよなー。
てか,これってそもそも治療ミスなんじゃねーの?
しかも,歯石を取るとかなんとかで,歯を磨いてもらいフロスをしてもらって以来,
下の歯もたまーに痛くなるようになったんですが。
なので,熱いモノも冷たいモノもいかんのです。
ましてや,水で歯を磨いて,水で口をゆすぐなんて,あぁ恐ろしい。
まぁ,いいや。来週に,歯医者行ってみる。
ac-source-gtags で大文字小文字一緒くたっぽくしたいなぁ。
以前もいいましたが,auto-complete.el 内では,
(defun ac-gtags-candidate () (ignore-errors (split-string (shell-command-to-string (format "global -ci %s" ac-prefix)) "\n")))
となっていますが,global のソースを確認すると,-c オプションのときには,
-i オプションは無視されます(global-5.7.5で確認)。
なので,-ci としても,case-insensitive で探してくれません。
効かぬなら,変えてしまえ,global のソースを,字余り。
前回も挑戦してあきらめたが,こりずに。
しかし,頑張ったが,挫折した。
strncasecmp, strcasecmp を使うようにしてみたけど,
global で使われている DB 内の並び順のせいか,無理っぽい。
オレの現在のテクではお手上げ。しょぼん。
それが無理なら,ac-gtags-candidate を変えてしまえ!
オレオレ ac-gtags-candidate,その名も my-ac-gtags-candidate をつくっちゃった。
昨日,寝ぼけながら書いていて全然できなくて,なぜに ac-prefix が nil になるんだ?
と目をつむって考えてたら,うとうとしてしまったので,寝た。
起きて再開したら,何故にできなかったのか不思議なくらい簡単にでけた。
でけたので,さらす。
なーに,本家のとほとんどかわらんとです。
オレオレ仕様にしただけ。
ac-ignore-case が nil でなけりゃー,ac-prefix の頭の文字を大文字にして検索しますよっと。
(require 'auto-complete) (defface my-ac-gtags-candidate-face '((t (:background "lightgray" :foreground "navy"))) "Face for my gtags candidate" :group 'auto-complete) (defface my-ac-gtags-selection-face '((t (:background "navy" :foreground "white"))) "Face for the my gtags selected candidate." :group 'auto-complete) (defun my-ac-gtags-candidate () (let ((ret nil)) (setq ret (split-string (shell-command-to-string (format "global -c %s" ac-prefix)) "\n")) (when ac-ignore-case (dolist (elt (split-string (shell-command-to-string (format "global -c %s" (upcase-initials ac-prefix))) "\n")) (add-to-list 'ret elt))) ret)) (defvar my-ac-gtags-source '((candidates . my-ac-gtags-candidate) (candidate-face . my-ac-gtags-candidate-face) (selection-face . my-ac-gtags-selection-face) (symbol . "s"))) (provide 'my-auto-complete-gtags) ;;; my-auto-complete-gtas.el ends here
SomeClass っていうのを補完したくて,けど,バッファとかにもないけど,
GTAGS にはあるっていう場合に,「so」と入力すると,
補完してくれるちゅうことです。意外に便利。クラス名の補完とか。
upcase ではなくて,upcase-initials を使っているので,その辺微妙かも。
それにまぁ,あれだ。大体 same-major-mode とか,他に何かしらの候補があるから,
あまり便利でない気も。どないやねん。
あとソートとかどうなんだろ。今は何もしてないが。
設定
auto-complete.el を require したあとで,require して,好みの色にかえるがよろし。
あと,こないだ言っていた`f'とか表示したい件ですが,あれ,自分で設定するというか,
そんな感じなんだね。へぇ。
さらに,どうもタイムラグがでるのがいやなので,ac-auto-show-menu を 0 にして,
すぐメニューを表示してもらうようにしました。
;; 色々略 (require 'my-auto-complete-gtags) (global-auto-complete-mode t) (setq ac-auto-start 2) (setq ac-auto-show-menu 0) (custom-set-faces '(my-ac-gtags-candidate-face ((t (:background "slate gray" :foreground "white")))) '(my-ac-gtags-selection-face ((t (:background "dark slate blue" :foreground "white")))) ;; ...) ;; ...
まとめ
Rsense を使ってみたいからといって,さわったこともない Ruby の勉強をしようとするのは,
なんか間違ってる気がするので,我慢した。オレは我慢もできる子。