From e1d86c2b5e06ca96fb1ad691d06c0e641cfee383 Mon Sep 17 00:00:00 2001 From: lxsameer Date: Tue, 22 Feb 2011 16:03:07 +0330 Subject: [PATCH] kernel-mode function added to cplugin --- src/plugins/cproject.el | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/plugins/cproject.el b/src/plugins/cproject.el index 6e7434f..2b00d59 100644 --- a/src/plugins/cproject.el +++ b/src/plugins/cproject.el @@ -94,7 +94,9 @@ binding for Kuso IDE C projects section." (define-key global-map (kbd "\C-x n c") 'generic-c) (define-key global-map [menu-bar file new-proj cproj cgeneric] '("Generic project (C)" . generic-c)) - (log "C") + + (define-key global-map (kbd "\C-x n k") 'generic-c) + (define-key global-map [menu-bar file new-proj cproj kernmod] '("Kernel module" . kernel-module)) ) @@ -103,6 +105,7 @@ binding for Kuso IDE C projects section." ;; cover (defun c-new-project () "Create a new C/C++ project" (new-project) + (project/copying-license-copy) ) @@ -118,7 +121,7 @@ binding for Kuso IDE C projects section." (defun generic-c () "Create a generic type C project" (interactive) (c-new-project) - (project/copying-license-copy) + (let (template-file-regexp license-data filelist cur template-data) (setq template-file-regexp (concat TEMPLATESPATH "c/generic_c/*.tmpl")) (setq filelist (file-expand-wildcards template-file-regexp)) @@ -136,6 +139,27 @@ binding for Kuso IDE C projects section." ) +(defun kernel-module () "Create a linux kernel module project" + (interactive) + (c-new-project) + + (let (template-file-regexp license-data filelist cur template-data) + (setq template-file-regexp (concat TEMPLATESPATH "c/kernel_module/*.tmpl")) + (setq filelist (file-expand-wildcards template-file-regexp)) + (while filelist + (setq cur (pop filelist)) + (setq template-data (project/render-template cur)) + (setq template-data (replace-regexp-in-string "::unixname::" unix-project-name template-data)) + (setq template-data (replace-regexp-in-string "::UNIXNAME::" unix-project-name template-data)) + (project/write-dest-file cur template-data) + ) + ) + (cd project-path) + (find-file (concat unix-project-name ".c")) + (kuso-cplugin-mode) + ) + + (defun initial-keymap () "Set the key binding for C project." (define-key kuso-cplugin-map (kbd "\C-c \C-c") 'compile)