Carsten Dominik <carsten.domi...@gmail.com> writes: > On Thu, Sep 2, 2010 at 9:06 PM, Dan Davison <davi...@stats.ox.ac.uk> wrote: >> Erik Iverson <er...@ccbr.umn.edu> writes: >> >>> Dan, >>> >>> Thank you to David and yourself for this great feature. I have >>> absolutely no opinion about the default on/off, except to say it >>> looks great on. >>> >>> Is your TAB key patch[1] in master yet? >>> http://www.mail-archive.com/emacs-orgmode@gnu.org/msg28640.html >> >> Hi Erik, >> >> Since these[1] changes, language-native TAB can be achieved in code >> blocks via C-c C-v C-x TAB and C-c C-v x TAB. We can add this to >> org-tab-first-hook, controlled by a variable `org-src-tab-acts-natively' >> as below. Carsten -- would you like to add this to Org, or leave it as a >> user customisation? > > I think we can add this to Org. Maybe default off, for now?
OK, done. So (setq org-src-tab-acts-natively t) to turn it on. Dan > > - Carten > >> >> Dan >> >> >> --8<---------------cut here---------------start------------->8--- >> diff --git a/lisp/org-src.el b/lisp/org-src.el >> index 6c09cbd..d1948cc 100644 >> --- a/lisp/org-src.el >> +++ b/lisp/org-src.el >> @@ -715,6 +715,19 @@ Org-babel commands." >> (call-interactively >> (lookup-key org-babel-map key))))) >> >> +(defvar org-src-tab-acts-natively nil >> + "If non-nil, the effect of TAB in a code block is as if it were >> +issued in the language major mode buffer.") >> + >> +(defun org-src-native-tab-command-maybe () >> + "Perform language-specific TAB action. >> +Alter code block according to effect of TAB in the language major >> +mode." >> + (and org-src-tab-acts-natively >> + (org-babel-do-key-sequence-in-edit-buffer (kbd "TAB")))) >> + >> +(add-hook 'org-tab-first-hook 'org-src-native-tab-command-maybe) >> + >> (defun org-src-font-lock-fontify-block (lang start end) >> "Fontify code block. >> This function is called by emacs automatic fontification, as long >> --8<---------------cut here---------------end--------------->8--- >> >> >> Footnotes: >> >> [1] http://thread.gmane.org/gmane.emacs.orgmode/28950 >> >>> >>> >>> >>> Dan Davison wrote: >>>> I've just pushed changes which mean that Org now fontifies code in code >>>> blocks. Currently, this is turned on by default, so it would be helpful >>>> if people could report any problems, and opinions as to whether it >>>> should be on or off by default. >>>> >>>> To turn it off, use >>>> >>>> (setq org-src-fontify-natively nil) >>>> >>>> With it off, there are two functions for manually fontifying code >>>> blocks: `org-src-fontify-block' and `org-src-fontify-buffer'. >>>> >>>> With it on, on my netbook, there is a slight delay when typing in code >>>> blocks of over 100 lines in length, and this is pronounced in code >>>> blocks of several hundred lines. >>>> >>>> Just to be clear, this is fontification only -- no other language major >>>> mode features -- so the default method of editing code is still C-c ' >>>> (org-edit-src-code). >>>> >>>> Thanks to David O'Toole for the original patch. The final version of the >>>> patch is based on Carsten's suggestions for a more efficient >>>> implementation. >>>> >>>> Dan >>>> >>>> >>>> Dan Davison <davi...@stats.ox.ac.uk> writes: >>>> >>>>> Dan Davison <davi...@stats.ox.ac.uk> writes: >>>>> >>>>>> "David O'Toole" <dto1...@gmail.com> writes: >>>>>> >>>>>>> I've got a preliminary patch that adds optional "native" fontification >>>>>>> for source blocks. It uses the block's declared mode to fontify the >>>>>>> block text. So now blocks look the way they should, and this opens the >>>>>>> way to further enhancements. >>>>>> Hi David, >>>>>> >>>>>> This is great! Here's a patch which allows the src blocks to have >>>>>> switches and header args, and also uses `org-src-lang-modes' to find the >>>>>> major mode. >>>>> I'm resending this as a match against the current master branch, and as >>>>> an attachment so that it goes into the patchwork system. I am keeping >>>>> this line of patches in branch `src-block-fontification' at >>>>> git://github.com/dandavison/org-devel.git >>>>> >>>>> Dan >>>>> >>>>> >>>>> _______________________________________________ >>>>> Emacs-orgmode mailing list >>>>> Please use `Reply All' to send replies to the list. >>>>> Emacs-orgmode@gnu.org >>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>>> >>>> >>>> _______________________________________________ >>>> Emacs-orgmode mailing list >>>> Please use `Reply All' to send replies to the list. >>>> Emacs-orgmode@gnu.org >>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>> >>> _______________________________________________ >>> Emacs-orgmode mailing list >>> Please use `Reply All' to send replies to the list. >>> Emacs-orgmode@gnu.org >>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >> >> > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode