emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Re: Native TAB in code blocks


From: Julien Fantin
Subject: Re: [Orgmode] Re: Native TAB in code blocks
Date: Fri, 3 Sep 2010 10:11:41 +0200

Another great addition Dan, thanks !

Cheers

On Thu, Sep 2, 2010 at 10:36 PM, Dan Davison <address@hidden> wrote:
> Carsten Dominik <address@hidden> writes:
>
>> On Thu, Sep 2, 2010 at 9:06 PM, Dan Davison <address@hidden> wrote:
>>> Erik Iverson <address@hidden> 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/address@hidden/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 <address@hidden> writes:
>>>>>
>>>>>> Dan Davison <address@hidden> writes:
>>>>>>
>>>>>>> "David O'Toole" <address@hidden> 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.
>>>>>> address@hidden
>>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Emacs-orgmode mailing list
>>>>> Please use `Reply All' to send replies to the list.
>>>>> address@hidden
>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>>
>>>> _______________________________________________
>>>> Emacs-orgmode mailing list
>>>> Please use `Reply All' to send replies to the list.
>>>> address@hidden
>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>
>>>
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]