emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master c91db88: * packages/arbitools: Add functions and menus


From: David Gonzalez Gandara
Subject: [elpa] master c91db88: * packages/arbitools: Add functions and menus
Date: Tue, 01 Mar 2016 00:07:46 +0000

branch: master
commit c91db8819f1508cc2fa907063bd5f4138339638c
Author: David Gonzalez Gandara <address@hidden>
Commit: David Gonzalez Gandara <address@hidden>

    * packages/arbitools: Add functions and menus
---
 packages/arbitools/arbitools.el |   54 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 52 insertions(+), 2 deletions(-)

diff --git a/packages/arbitools/arbitools.el b/packages/arbitools/arbitools.el
index b19c29e..6c30404 100644
--- a/packages/arbitools/arbitools.el
+++ b/packages/arbitools/arbitools.el
@@ -64,6 +64,54 @@
   ;; (shell-command (concat (expand-file-name "arbitools-standings.py") " -i " 
buffer-file-name))) ;this is to use the actual path
   (call-process "arbitools-standings.py" nil nil nil "-i" buffer-file-name))
 
+(defun arbitools-delete-round (round)
+   "Delete round"
+   (interactive "sround: ")
+   (beginning-of-buffer)
+   (while (re-search-forward "^001" nil t)
+     (forward-char (+ 88 (* (- (string-to-number round) 1) 10)))
+     (delete-char 10)
+     (insert "          "))
+   (beginning-of-buffer))
+
+(defun arbitools-insert-result (round white black result)
+   "Insert a result"
+   (interactive "sround: \nswhite: \nsblack: \nsresult: ")
+   (beginning-of-buffer)
+   (while (re-search-forward "^001" nil t)
+     (forward-char 4) ;; rank number
+     ;; (print (format "%s" white))
+     (when (string= white (thing-at-point 'word))
+       ;;go to first round taking into account the cursor is in the rank number
+       (forward-char (+ 85 (* (- (string-to-number round) 1) 10)))
+       (insert "  ") ;; replace the first positions with spaces
+       (delete-char 2) ;; delete the former characters
+       ;; make room for bigger numbers
+       (cond ((= 2 (length black))
+         (backward-char 1))
+         ((= 3 (length black))
+         (backward-char 2)))
+       (insert (format "%s w %s" black result))
+       (delete-char 5) 
+       ;; adjust when numbers are longer
+       (cond ((= 2 (length black)) (delete-char 1))
+         ((= 3 (length black)) (delete-char 2))))
+     (when (string= black (thing-at-point 'word))
+       ;;go to first round taking into account the cursor is in the rank number
+       (forward-char (+ 85 (* (- (string-to-number round) 1) 10)))
+       (insert "  ") ;; replace the first positions with spaces
+       (delete-char 2) ;; delete the former characters
+       ;; make room for bigger numbers
+       (cond ((= 2 (length white)) (backward-char 1))
+         ((= 3 (length white)) (backward-char 2)))
+       (cond ((string= "1" result) (insert (format "%s b 0" white)))
+         ((string= "0" result) (insert (format "%s b 1" white))))
+       (delete-char 5) 
+       ;; adjust when numbers are longer
+       (cond ((= 2 (length white)) (delete-char 1))
+         ((= 3 (length white)) (delete-char 2)))))
+   (beginning-of-buffer))
+
 (defun arbitools-it3 ()
    "Get the IT3 tournament report."
    (interactive)
@@ -76,7 +124,7 @@
 
 (defvar arbitools-mode-map
   (let ((map (make-sparse-keymap)))
-    (define-key map (kbd "C-c i") 'coffee-compile-buffer)
+    (define-key map (kbd "C-c i") 'arbitools-it3)
     map)
   "Keymap for Arbitools major mode.")
 
@@ -84,9 +132,11 @@
 (easy-menu-define arbitools-mode-menu arbitools-mode-map
   "Menu for Arbitools mode"
   '("Arbitools"
+    ["Insert Result" arbitools-insert-result]
+    ["Delete Round" arbitools-delete-round]
+    "---"
     ["Get It3 form Report" arbitools-it3]
     ["Get FEDA Ratinf file" arbitools-fedarating]
-    "---"
     ))
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]