Cheers,

Andreas

--
http://launchpad.net/python-mode
http://launchpad.net/s-x-emacs-werkstatt/
;;; which-field.el --- Report current field number

;; Copyright (C) 2012  Andreas Roehler

;; Author: Andreas Roehler <[email protected]>
;; Keywords: convenience

;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with this program.  If not, see <http://www.gnu.org/licenses/>.

;;; Commentary:

;; See csv-mode.el and csv-nav.el for a complete environment

;;; Code:

(defcustom separator-char  ";"
  "Customize field separator"
  :type 'string
  :group 'convenience)
(make-variable-buffer-local 'separator-char)

(defalias 'which-field 'match-separators)
(defun match-separators (&optional separator)
  "Reports number of field-at-point separated by `separator-char'.

With \\[universal-argument] specify any other char for current buffer.
Returns field-number. `separator-char' is customizable. "
  (interactive "P")
  (let ((sepa (cond ((eq 4 (prefix-numeric-value separator))
                     (read-from-minibuffer "Seperator: "))
                    (separator separator)
                    (t (default-value 'separator-char))))
        erg)
    (setq separator-char sepa)
    (setq erg (1+ (count-matches sepa (line-beginning-position) (point))))
    (when (interactive-p) (message "%s" (message "%s" erg)))
    erg))

(provide 'which-field)
;;; which-field.el ends here
_______________________________________________
gnu-emacs-sources mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnu-emacs-sources

Reply via email to