top  Index  Search  Changes  RSS  Login

DateFormat

現状は [2004-08-26] とか.

拡張希望 - 2ch:141 2ch:148 2ch:597 2ch2:383 2ch3:614

  • 時刻
  • 何時から何時まで
  • 何日から何日まで
  • 何日から何日までの毎週水曜 → RepeatedToDo

いいかげんに決めると後悔しそうだし, 機能によっては実装がたいへんそうだし, で寝かしっぱなし.

(参考) 日付の表記に関するノート - The Web KANZAKI


[] をとって 2004-08-27@ とかにするのはどうだろう?


howm-1.2 ではこんなのも書けるけど…

 [2004-08-26 23:18]@
  • 書いてもエラーにならないってだけ
  • 気まぐれに試してみただけ
  • 今後どう変更されてもうらみっこなし _o_

howm-1.3.0 からはこんな隠し機能も.

;; [2008-11-04 13:00]@ のような書式の予定は時刻順にソート
(setq howm-schedule-sort-by-time t)

さらに試し

   ;; howm-test-20040827 用.
   ;; [2004-08-26 23:18-23:40]@ とか書けるようにする.
   ;; 将来サポートされる保証なし.
   ;; howm のロード後に…
   (setq howm-reminder-regexp-grep-format
     (concat "\\[" howm-date-regexp-grep "[- :0-9]*\\]%s"))
   (setq howm-reminder-regexp-format
     (concat "\\(\\[" howm-date-regexp "[- :0-9]*\\]\\)\\(\\(%s\\)\\([0-9]*\\)\\)"))
   (setq howm-reminder-font-lock-keywords
     `(
       (,(howm-reminder-regexp "[-]") (0 howm-reminder-normal-face prepend))
       (,(howm-reminder-regexp "[+]") (0 howm-reminder-todo-face prepend))
       (,(howm-reminder-regexp "[~]") (0 howm-reminder-defer-face prepend))
       (,(howm-reminder-regexp "[!]") (0 howm-reminder-deadline-face prepend))
       (,(howm-reminder-regexp "[@]") (0 howm-reminder-schedule-face prepend))
       (,(howm-reminder-regexp "[.]") (0 howm-reminder-done-face prepend))
       ))

  • C-c , d で挿入される日付に曜日を追加したい(2ch3:344)

こんなとこかな. 整理がついていないので, あんまり気軽にカスタマイズできませんね…

;; 日付に曜日を入れて [2007-04-16 Mon] のようにする.
;; howm のロードより前に書くこと.
;; test070413 で少しだけテスト.
;; リマインダなどが正常に機能するか自信ないので, 気をつけてお試しください.
(setq howm-date-format '"%Y-%m-%d %a")
(setq howm-reminder-regexp-grep-format
  "\\[[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9][^]]*\\]%s")
(setq howm-reminder-regexp-format
  "\\(\\[\\([1-2][0-9][0-9][0-9]\\)-\\([0-1][0-9]\\)-\\([0-3][0-9]\\)[^]]*\\]\\)\\(\\(%s\\)\\([0-9]*\\)\\)")
(setq howm-reminder-today-format "[%Y-%m-%d") ;; 正規表現でなく固定文字列検索
(setq howm-highlight-date-regexp-format "%Y-%m-%d")

入力は通常どおりして、表示のときだけ曜日を表示

overlay と jit-lock を使って表示のときだけ曜日を追加してみる。 まだ使い込んでないけどそれなりに便利っぽい

howm-1.3.4 でいちおう動作確認済。

(defun howm-add-day-of-week-overlay-region (start end)
  "START と END の範囲内にあるリマインダの日付に曜日を追加する。
曜日は overlay の after-string として追加される。"
  (save-excursion
    (save-restriction
      (narrow-to-region (progn (goto-char start) (line-beginning-position))
                        (progn (goto-char end) (line-end-position)))
      (let ((ovrs (overlays-in (point-min) (point-max))))
        (dolist (ovr ovrs)
          (when (overlay-get ovr 'howm-day-of-week)
            (delete-overlay ovr))))
      (goto-char (point-min))
      (let ((regexp (howm-reminder-regexp howm-reminder-types)))
        (while (re-search-forward regexp nil t)
          (let ((ovr (make-overlay
                      (match-beginning howm-reminder-regexp-day-pos)
                      (match-end howm-reminder-regexp-day-pos)))
                (dow (nth 4 (howm-todo-parse-string (match-string 0)))))
            (overlay-put ovr 'howm-day-of-week t)
            (overlay-put ovr 'after-string
                         (concat " " (howm-day-of-week-string dow)))
            (overlay-put ovr 'evaporate t)))))))

;; jit-lock に登録
(add-hook 'howm-mode-hook
          (lambda ()
            (jit-lock-register 'howm-add-day-of-week-overlay-region)))
;; (add-hook 'howm-view-summary-mode-hook
;; 	  (lambda ()
;;             (jit-lock-register 'howm-add-day-of-week-overlay-region)))

任意時刻の挿入を手軽に - 2ch3:619

(defun my-howm-insert-date ()
  "[2008-11-20 ]のように日付を挿入し, 閉じ括弧の手前へカーソルを移動"
  (interactive)
  (howm-insert-date)
  (backward-char)
  (insert " "))

2ch3:957

;; howm-history の日付フォーマットを [20130217] のように変更
;; howm-test130103 でテスト
(defadvice howm-write-history (around my-date-format activate)
  (let ((howm-dtime-format "[%Y%m%d]"))
    ad-do-it))

(Please LogIn to post comments.)

Last modified:2013/02/20 19:44:48
Keyword(s):
References:[LinuxZaurus] [RepeatedToDo] [howm-wrap] [アイデア]