From b19a5c4920a67cfe4533d1ee0e09b1021f8e61bc Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Sat, 25 Dec 2010 17:19:03 +0330 Subject: [PATCH] generic-c project test point --- src/lib/menu.el | 2 +- src/lib/project.el | 2 +- src/plugins/cproject.el | 48 +++++++++++++++++++++++++++++++++++++++++ src/shit-ide.el | 7 ++++-- 4 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 src/plugins/cproject.el diff --git a/src/lib/menu.el b/src/lib/menu.el index 2a4b887..4d0f271 100644 --- a/src/lib/menu.el +++ b/src/lib/menu.el @@ -1,4 +1,4 @@ -;; Shitty - My personal emacs IDE configuration +;; Shit - My personal emacs IDE configuration ;; Copyright (C) 2010 Sameer Rahmani ;; ;; This program is free software: you can redistribute it and/or modify diff --git a/src/lib/project.el b/src/lib/project.el index 53ef747..7b3bc55 100644 --- a/src/lib/project.el +++ b/src/lib/project.el @@ -1,4 +1,4 @@ -;; Shitty - My personal emacs IDE configuration +;; Shit - My personal emacs IDE configuration ;; Copyright (C) 2010 Sameer Rahmani ;; ;; This program is free software: you can redistribute it and/or modify diff --git a/src/plugins/cproject.el b/src/plugins/cproject.el new file mode 100644 index 0000000..f098713 --- /dev/null +++ b/src/plugins/cproject.el @@ -0,0 +1,48 @@ +;; Shit - My personal emacs IDE configuration +;; Copyright (C) 2010 Sameer Rahmani +;; +;; 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 +;; 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 . + +;; C project plugin for Shit IDE + +(defun init-menus () "Draw required menu for C mode" + (define-key global-map [Ctrl-x p c k ] 'kmodule) + (define-key global-map [menu-bar file new-proj cproj kmodule] '("Kernel Module" . kmodule)) + + (define-key global-map [menu-bar file new-proj cproj separator2] '("--")) + + (define-key global-map [Ctrl-x p c n ] 'make-cpp) + (define-key global-map [menu-bar file new-proj cproj cpp-make] '("Make project (C++)" . make-cpp)) + + (define-key global-map [Ctrl-x p c m ] 'make-c) + (define-key global-map [menu-bar file new-proj cproj c-make] '("Make project (C)" . make-c)) + + (define-key global-map [menu-bar file new-proj cproj separator1] '("--")) + + (define-key global-map [Ctrl-x p c p ] 'generic-cpp) + (define-key global-map [menu-bar file new-proj cproj cppgeneric] '("Generic project (C++)" . generic-cpp)) + + + (define-key global-map [Ctrl-x p c g] 'generic-c) + (define-key global-map [menu-bar file new-proj cproj cgeneric] '("Generic project (C)" . generic-c)) + ) + +(defun c-new-project () "Create a new C/C++ project" + (new-project) + (log project-name) +) + +(defun generic-c () "Create a generic type C project" + (c-new-project) +) \ No newline at end of file diff --git a/src/shit-ide.el b/src/shit-ide.el index 5c7d526..bf61c50 100644 --- a/src/shit-ide.el +++ b/src/shit-ide.el @@ -1,4 +1,4 @@ -;; Shitty - My personal emacs IDE configuration +;; Shit - My personal emacs IDE configuration ;; Copyright (C) 2010 Sameer Rahmani ;; ;; This program is free software: you can redistribute it and/or modify @@ -19,7 +19,7 @@ (setq ROOTPATH nil) (setq LIBPATH nil) (setq PLUGINPATH nil) - +(setq TEMPLATESPATH nil) (defun strip-el-ext (STR) "strinp the lastest elist extension suffix" (setq ext (replace-regexp-in-string "\.el$" "" STR)) @@ -42,10 +42,13 @@ (nbutlast cur-path-list) (setq ROOTPATH (concat (mapconcat 'identity cur-path-list "/") "/")) (setq PLUGINPATH (concat ROOTPATH "plugins/")) + (setq TEMPLATESPATH (concat ROOTPATH "templates/")) (setq LIBPATH (concat ROOTPATH "lib/")) (log (format "Running on %s" ROOTPATH)) (log (format "lib : %s" LIBPATH)) (log (format "plugins : %s" PLUGINPATH)) + (log (format "templates : %s" TEMPLATESPATH)) + ) (defun load-lib (ADDR) "load the shit library on the ADDR path"