;;;-*- Mode: Lisp; Package: CL-USER -*- ;; ;; Copyright (C) Paul Meurer 2000. All rights reserved. ;; paul.meurer@hit.uib.no ;; HIT-centre, University of Bergen ;; ;; Version 0.9 ;; ;; Constraint Grammar Parser GUI interface for Macinthosh Common Lisp ;; ;;------------------------------------------------------------------------------------- ;; TO DO: ;; ;;------------------------------------------------------------------------------------- (in-package :cl-user) #+old (defmethod cgp::show-rule ((window fred-item)) (ccl::ed-select-current-sexp window) (multiple-value-bind (left right) (selection-range window) (let ((string (buffer-substring (fred-buffer window) left right))) (cond ((zerop (length string)) nil) ((char= (char string 0) #\#) (show-file-line cgp::*tagged-file* (parse-integer (subseq string 1) :junk-allowed t))) (t (let ((rule-id (parse-integer string :junk-allowed t))) (when rule-id (inspect (aref (cgp::rule-array cgp::*cg*) rule-id))))))))) (defmethod cgp::show-rule ((window fred-item)) (ccl::ed-select-current-sexp window) (multiple-value-bind (left right) (selection-range window) (let ((string (buffer-substring (fred-buffer window) left right))) (cond ((zerop (length string)) nil) ((char= (char string 0) #\#) (show-file-line cgp::*tagged-file* (parse-integer (subseq string 1) :junk-allowed t))) ((char= (char string 0) #\b) (let ((rule-id (parse-integer (subseq string 1) :junk-allowed t))) (when rule-id (inspect (aref (cgp::rule-array cgp::*nbo-cg*) rule-id))))) ((char= (char string 0) #\n) (let ((rule-id (parse-integer (subseq string 1) :junk-allowed t))) (when rule-id (inspect (aref (cgp::rule-array cgp::*nny-cg*) rule-id))))) (t nil))))) (defun show-file-line (path line-number) (let* ((window (ed path)) (buffer (fred-buffer window))) (let* ((start (buffer-line-start buffer 0 line-number)) (end (buffer-line-end buffer start))) (set-selection-range window start end) (window-show-cursor window)))) (comtab-set-key *comtab* '(:control :shift #\p) #'cgp::show-rule "show-rule")