Developing environments used for kernel development

Daniel. danielhilst at gmail.com
Thu Jan 14 11:52:45 EST 2016


You may need to install irony and company from melpa, checkout this:
https://github.com/Sarcasm/irony-mode
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 :)

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*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20160114/6b88f2a3/attachment.html 


More information about the Kernelnewbies mailing list