[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: Native TAB in code blocks
From: |
Dan Davison |
Subject: |
[Orgmode] Re: Native TAB in code blocks |
Date: |
Thu, 02 Sep 2010 13:36:39 -0700 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) |
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
[Orgmode] Re: Org now fontifies code blocks, Sébastien Vauban, 2010/09/02
Re: [Orgmode] Org now fontifies code blocks, Eric S Fraga, 2010/09/03
- Re: [Orgmode] Org now fontifies code blocks, Thomas S. Dye, 2010/09/03
- Re: [Orgmode] Org now fontifies code blocks, David O'Toole, 2010/09/06
- [Orgmode] Re: Org now fontifies code blocks, Dan Davison, 2010/09/07
- [Orgmode] Re: Org now fontifies code blocks, Richard Riley, 2010/09/07
- [Orgmode] Re: Org now fontifies code blocks, Thomas S. Dye, 2010/09/07
- Re: [Orgmode] Re: Org now fontifies code blocks, Darlan Cavalcante Moreira, 2010/09/08
- [Orgmode] Re: Org now fontifies code blocks, Dan Davison, 2010/09/08