Developing environments used for kernel development

Geyslan G. Bem geyslan at gmail.com
Thu Jan 14 11:58:42 EST 2016


2016-01-14 13:52 GMT-03:00 Daniel. <danielhilst at gmail.com>:
> You may need to install irony and company from melpa, checkout this:
> https://github.com/Sarcasm/irony-mode
Tks.

> Also you need to install clang with your package manager or compiling it by
> your self... About the window moving system, that buffer-move is nice, for
> moving with window I'm just searching for a better keybind. Maybe creating
> an sparse keymap and making it active with some avaible keystroke, swithing
> window and desabling the keymap when first unknown key is pressed, but I
> didn't have time to research on that yet :)

May you like it.

;; window move
(global-set-key (kbd "C-s-j") 'windmove-left)
(global-set-key (kbd "C-s-;") 'windmove-right)
(global-set-key (kbd "C-s-l") 'windmove-up)
(global-set-key (kbd "C-s-k") 'windmove-down)
;; buffer-move
(global-set-key (kbd "M-s-j") 'buf-move-left)
(global-set-key (kbd "M-s-;") 'buf-move-right)
(global-set-key (kbd "M-s-l") 'buf-move-up)
(global-set-key (kbd "M-s-k") 'buf-move-down)
;; window resize
(global-set-key (kbd "C-s-S-j") 'shrink-window-horizontally)
(global-set-key (kbd "C-s-:") 'enlarge-window-horizontally)
(global-set-key (kbd "C-s-S-l") 'shrink-window)
(global-set-key (kbd "C-s-S-k") 'enlarge-window)

>
> Cheers,
>
> 2016-01-14 14:28 GMT-02:00 Daniel. <danielhilst at gmail.com>:
>>
>> ops, forget the link:
>> http://pastebin.com/uQkErV46
>>
>> Cheers,
>>
>>
>> 2016-01-14 14:28 GMT-02:00 Daniel. <danielhilst at gmail.com>:
>>>
>>> clang is used only for parsing, nothing to do with compilation :)
>>>
>>> Here it is :)
>>>
>>> 2016-01-14 13:35 GMT-02:00 Geyslan G. Bem <geyslan at gmail.com>:
>>>>
>>>> 2016-01-14 12:23 GMT-03:00 Daniel. <danielhilst at gmail.com>:
>>>> > I've tried using semantic mode but it gives me ""#<buffer jiffies.h> -
>>>> > Arithmetic error"*" all the time. I've also tried a ctags aproach, but
>>>> > it is
>>>> > quite slow on big projects, then I tried irony-mode which uses clang
>>>> > to
>>>> > parse sources.
>>>> Hmmm. I'm having this issue too using gtags.
>>>>
>>>> >
>>>> > I never used autocompletion before but I'm having to deal with a code
>>>> > that
>>>> > came from a microcontroller and
>>>> > Have.Crasy.StrucsNamed.Like.This.With.ALot.Of.Useless.Members.Inside,
>>>> > so I
>>>> > got lines wrapping twice and lots of useless members, I never could
>>>> > remember
>>>> > the members names and the definition is less readable than the use so
>>>> > I
>>>> > really needed autocompletion to navigate
>>>> > that mess. Clang parsing seems fast to me, I've tried to avoid it but,
>>>> > well,
>>>> > it worked fine...
>>>>
>>>> Nice. Could you share your .el? So the clang is used only for compile
>>>> warnings? If yes it may differ from gcc that is what kernel uses. Let
>>>> me know more. :-)
>>>>
>>>> I'm using gtags following these recipes:
>>>> http://tuhdo.github.io/c-ide.html
>>>>
>>>> >
>>>> > Regards,
>>>> >
>>>> > 2016-01-14 12:26 GMT-02:00 Geyslan G. Bem <geyslan at gmail.com>:
>>>> >>
>>>> >> 2016-01-14 10:06 GMT-03:00 Daniel. <danielhilst at gmail.com>:
>>>> >> > Thanks for the tip, I've past the last month trying vim again, but
>>>> >> > I'll
>>>> >> > keep
>>>> >> > with emacs anyway. I have so much code writen in elisp and my
>>>> >> > firgers
>>>> >> > are
>>>> >> > adicted to Ctrl keystrokes, so ... I could achieve autocomplete
>>>> >> > with
>>>> >> > company
>>>> >> > + irony + clang.
>>>> >>
>>>> >> Why clang?
>>>> >> >
>>>> >> > Best regards,
>>>> >> >
>>>> >> > 2016-01-13 22:37 GMT-02:00 Geyslan G. Bem <geyslan at gmail.com>:
>>>> >> >>
>>>> >> >> 2016-01-13 21:23 GMT-03:00 Ismael Luceno
>>>> >> >> <ismael.luceno at gmail.com>:
>>>> >> >> > On Thu, Dec 24, 2015 at 11:57:32AM -0200, Daniel. wrote:
>>>> >> >> >> I had heard about emacs server, but never tried it.. This
>>>> >> >> >> should fix
>>>> >> >> >> the
>>>> >> >> >> starting time, but not the learning curve :)
>>>> >> >> >
>>>> >> >> > You can wrap emacsclient to automatically start emacs --daemon
>>>> >> >> > with a
>>>> >> >> > script like this:
>>>> >> >> >
>>>> >> >> >     #!/bin/sh
>>>> >> >> >     exec emacsclient -a '' -c "$@"
>>>> >> >> >
>>>> >> >> > You may also want to pre-compile your elisp files.
>>>> >> >>
>>>> >> >> Themes may not load correctly when using emacs as daemon. But you
>>>> >> >> can
>>>> >> >> fix (tweak) it with
>>>> >> >>
>>>> >> >> ;; theme
>>>> >> >> (defvar my:theme 'distinguished)
>>>> >> >> (defvar my:theme-window-loaded nil)
>>>> >> >> (defvar my:theme-terminal-loaded nil)
>>>> >> >>
>>>> >> >> (if (daemonp)
>>>> >> >>     (add-hook 'after-make-frame-functions(lambda (frame)
>>>> >> >>                        (select-frame frame)
>>>> >> >>                        (if (window-system frame)
>>>> >> >>                            (unless my:theme-window-loaded
>>>> >> >>                          (if my:theme-terminal-loaded
>>>> >> >>                              (enable-theme my:theme)
>>>> >> >>                            (load-theme my:theme t))
>>>> >> >>                          (setq my:theme-window-loaded t))
>>>> >> >>                          (unless my:theme-terminal-loaded
>>>> >> >>                            (if my:theme-window-loaded
>>>> >> >>                            (enable-theme my:theme)
>>>> >> >>                          (load-theme my:theme t))
>>>> >> >>                            (setq my:theme-terminal-loaded t)))))
>>>> >> >>   (progn
>>>> >> >>     (load-theme my:theme t)
>>>> >> >>     (if (display-graphic-p)
>>>> >> >>     (setq my:theme-window-loaded t)
>>>> >> >>       (setq my:theme-terminal-loaded t))))
>>>> >> >>
>>>> >> >> > _______________________________________________
>>>> >> >> > Kernelnewbies mailing list
>>>> >> >> > Kernelnewbies at kernelnewbies.org
>>>> >> >> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>>> >> >>
>>>> >> >>
>>>> >> >>
>>>> >> >> --
>>>> >> >> Regards,
>>>> >> >>
>>>> >> >> Geyslan G. Bem
>>>> >> >> hackingbits.com
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> > --
>>>> >> > "Do or do not. There is no try"
>>>> >> >   Yoda Master
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >> Regards,
>>>> >>
>>>> >> Geyslan G. Bem
>>>> >> hackingbits.com
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > "Do or do not. There is no try"
>>>> >   Yoda Master
>>>>
>>>>
>>>>
>>>> --
>>>> Regards,
>>>>
>>>> Geyslan G. Bem
>>>> hackingbits.com
>>>
>>>
>>>
>>>
>>> --
>>> "Do or do not. There is no try"
>>>   Yoda Master
>>
>>
>>
>>
>> --
>> "Do or do not. There is no try"
>>   Yoda Master
>
>
>
>
> --
> "Do or do not. There is no try"
>   Yoda Master



-- 
Regards,

Geyslan G. Bem
hackingbits.com



More information about the Kernelnewbies mailing list