(defun geoffs-jde-tab() "Inteligent tabbing in JDE" (interactive) (let* ((keys (recent-keys)) ; this stolen from pc-keys.... (len (length keys)) (key1 (if (> len 0) (elt keys (- len 1)) nil)) (key2 (if (> len 1) (elt keys (- len 2)) nil)) (key3 (if (> len 2) (elt keys (- len 3)) nil)) (key-equal-1 (eq key1 key2)) (key-equal-2 (and key-equal-1 (eq key2 key3)))) (cond ;(key-equal-2 (call-interactively 'dabbrev-expand)) (key-equal-1 (call-interactively 'jde-complete)) (t (call-interactively 'c-indent-command))) ) ) (provide 'geoffs-jde-tab) (define-key jde-mode-map [tab] 'geoffs-jde-tab) (defun geoffs-find-execute-file() "ripped from jde" (interactive) (let ((dir (file-name-directory buffer-file-name))) (geoffs-find-execute-recursive dir) )) (defun geoffs-find-execute-recursive(dir) (let ((file (find "execute.el" (directory-files dir) :test 'string=)) (prj (find "prj.el" (directory-files dir) :test 'string=))) (message dir) (if file (concat dir file) (if (null prj) (geoffs-find-execute-recursive (concat dir "../")))))) (provide 'geoffs-find-execute-file) (defun geoffs-find-project-directory() "ripped from jde" (interactive) (let ((dir (file-name-directory buffer-file-name))) (jde-normalize-path (geoffs-find-project-directory-recursive dir)) )) (defun geoffs-find-project-directory-recursive(dir) (let ((prj (find "prj.el" (directory-files dir) :test 'string=))) (message dir) (if (null prj) (geoffs-find-project-directory-recursive (concat dir "../")) dir))) (provide 'geoffs-find-project-directory) (let ((ex-el (geoffs-find-execute-file))) (if (null ex-el) (message "Could not find an appropriate execute.el file.. that's ok.") (load-file ex-el))) (defun reload-prj() "Reload the project file" (interactive) (load-file (jde-find-project-file (file-name-directory buffer-file-name))) ) (provide 'reload-prj) (define-key jde-mode-map [f12] 'reload-prj) (setq project-dir (geoffs-find-project-directory)) (defvar base-dir nil) (setq base-dir (file-name-directory (jde-find-project-file (file-name-directory buffer-file-name))) ; "The base directory" ) (defvar exec-dir nil) (setq exec-dir "/home/gborggaa/devel/trees/TOT/adserver/src/ngbp/src/") (jde-project-file-version "1.0") (jde-set-variables '(jde-ant-enable-find t) '(jde-ant-user-jar-files (concat project-dir "ant/lib/optional.jar")) '(jde-ant-args "-emacs") '(jde-enable-abbrev-mode nil) '(jde-compiler (quote ("javac server" ""))) '(jde-sourcepath (list project-dir )) '(jde-compile-option-deprecation t) '(jde-run-working-directory project-dir) '(jde-compile-option-directory (concat project-dir "../build")) '(jde-global-classpath (list (concat exec-dir "netgravity/common/jars/jaxp.jar") "/usr/java/j2sdk1.4.1_02/jre/lib/rt.jar" (concat exec-dir "netgravity/common/jars/crimson.jar") (concat base-dir "../../../../weblogic-8.1-src/weblogic81/server/lib/weblogic.jar") (concat base-dir "../build") (concat base-dir "") (concat exec-dir "netgravity/admanager/jars/XwingML.jar") (concat exec-dir "netgravity/admanager/jars/xml4j_1_1_16.jar") (concat exec-dir "netgravity/common/jars/jhall.jar") (concat exec-dir "netgravity/common/jars/ss.jar") (concat exec-dir "netgravity/common/jars/PerlTools.jar"))) '(jde-ant-complete-target nil) '(jde-ant-enable-find t) '(jde-ant-home (concat project-dir "../ant/")) '(jde-ant-invocation-method (quote ("Java"))) '(jde-ant-read-args t) '(jde-ant-read-target t) '(jde-ant-user-jar-files (list (concat project-dir "../ant/optional.jar") (concat project-dir "netgravity/common/jars/crimson.jar") (concat base-dir "../../../../weblogic-8.0-src/weblogic81/server/lib/ejb20.jar") (concat base-dir "../../../../weblogic-8.0-src/weblogic81/server/lib/weblogic.jar") (concat base-dir "../../../../weblogic-8.0-src/weblogic81/server/lib/wlepool.jar") (concat base-dir "../../../../weblogic-8.0-src/weblogic81/server/lib/jms510.jar") (concat exec-dir "netgravity/common/jars/jhall.jar") (concat exec-dir "netgravity/common/jars/ss.jar") (concat (jde-get-jdk-dir) "lib/rt.jar") (concat (jde-get-jdk-dir) "lib/tools.jar"))))