Changeset 14248
- Timestamp:
- Sep 10, 2010, 2:49:47 PM (14 years ago)
- Location:
- trunk/source/cocoa-ide
- Files:
-
- 2 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/cocoa-ide/cocoa-editor.lisp
r14247 r14248 1807 1807 pathname))) 1808 1808 1809 ;;; If we get here, we've already checked that the selection represents 1810 ;;; a valid pathname. 1809 (defun find-symbol-in-packages (string pkgs) 1810 (setq string (string-upcase string)) 1811 (let (sym) 1812 (dolist (p pkgs) 1813 (when (setq sym (find-symbol string p)) 1814 (return))) 1815 sym)) 1816 1811 1817 (objc:defmethod (#/openSelection: :void) ((self hemlock-text-view) sender) 1812 1818 (declare (ignore sender)) … … 1815 1821 (pathname (pathname-for-namestring-fragment 1816 1822 (lisp-string-from-nsstring selection)))) 1817 (ed pathname))) 1823 (when (pathnamep pathname) 1824 (ed pathname)))) 1818 1825 1819 1826 ;;; If we get here, we've already checked that the selection represents … … 1823 1830 (let* ((text (#/string self)) 1824 1831 (selection (#/substringWithRange: text (#/selectedRange self))) 1825 (symbol-name (string-upcase (lisp-string-from-nsstring selection)))) 1826 (inspect (find-symbol symbol-name)))) 1832 (symbol-name (string-upcase (lisp-string-from-nsstring selection))) 1833 (buffer (hemlock-buffer self)) 1834 (package-name (hi::variable-value 'hemlock::current-package :buffer buffer))) 1835 (inspect (find-symbol-in-packages symbol-name 1836 (cons package-name 1837 (package-use-list package-name)))))) 1838 1839 (objc:defmethod (#/sourceForSelection: :void) ((self hemlock-text-view) sender) 1840 (declare (ignore sender)) 1841 (let* ((text (#/string self)) 1842 (selection (#/substringWithRange: text (#/selectedRange self))) 1843 (sym (find-symbol-in-packages (lisp-string-from-nsstring selection) 1844 (list-all-packages)))) 1845 (ed sym))) 1827 1846 1828 1847 ;;; If we don't override this, NSTextView will start adding Google/ … … 1836 1855 (menu (if (> (length s) 0) 1837 1856 (#/copy (#/menu self)) 1838 (#/retain (#/menu self))))) 1839 (when (find-symbol (string-upcase s)) 1857 (#/retain (#/menu self)))) 1858 (buffer (hemlock-buffer self)) 1859 (package-name (hi::variable-value 'hemlock::current-package :buffer buffer))) 1860 (when (find-symbol-in-packages (string-upcase s) 1861 (cons package-name 1862 (package-use-list package-name))) 1840 1863 (let* ((title (#/stringByAppendingString: #@"Inspect " selection)) 1841 1864 (item (make-instance 'ns:ns-menu-item :with-title title 1842 1865 :action (@selector #/inspectSelection:) 1866 :key-equivalent #@""))) 1867 (#/setTarget: item self) 1868 (#/insertItem:atIndex: menu item 0) 1869 (#/release item))) 1870 (when (find-symbol-in-packages (string-upcase s) (list-all-packages)) 1871 (let* ((title (#/stringByAppendingString: #@"Source of " selection)) 1872 (item (make-instance 'ns:ns-menu-item :with-title title 1873 :action (@selector #/sourceForSelection:) 1843 1874 :key-equivalent #@""))) 1844 1875 (#/setTarget: item self) … … 2609 2640 (pathname (hi::buffer-pathname buffer))) 2610 2641 (not (null pathname)))) 2642 ((eql action (@selector #/openSelection:)) 2643 (let* ((text (#/string self)) 2644 (selection (#/substringWithRange: text (#/selectedRange self)))) 2645 (pathname-for-namestring-fragment (lisp-string-from-nsstring selection)))) 2611 2646 (t (call-next-method item))))) 2612 2647
Note:
See TracChangeset
for help on using the changeset viewer.
