[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemacs-devel] Config file questions
From: |
Charles Gordon |
Subject: |
Re: [Qemacs-devel] Config file questions |
Date: |
Mon, 20 Mar 2017 01:38:06 +0100 |
On 20 Mar 2017, at 01:09, Hadrien Lacour wrote:
> On Mon, Mar 20, 2017 at 12:43:04AM +0100, Charles Gordon wrote:
>> What do you mean by "have the config file simply be a command list exactly
>> as the ones that can be used inside qe?”
>> * most functions can be used from the config file but using
>> set_indent_tabs_mode(1); would not work any better as it has the same
>> problem: it only affects the current window.
>> * do you mean that the config file should have a list of keystrokes to be
>> run like a macro? This would not be very readable, but is feasible via
>> define_kbd_macro().
>
> I mean what you can issue using M-x. For example, my config file would have
> been:
>
> set-variable("tab-width", "4");
> set-variable("indent-tabs-mode", "1");
> toggle-truncate-lines();
> set-system-font("fixed", "terminus,unifont");
> set-style("default", "color", "#aaaaaa");
> set-style("default", "font-size", "16");
>
> Advantages: the config is self documenting (just use the internal qe help), no
> confusion concerning differences between commands and config, probably more
> possibilities, massively simple program (just a getline-check-execute loop).
This approach is supported, dashes and underscores are interchangeable in the
parser, but not yet in the syntax colorizer.
* set-variable produces a status message that should be ignored when parsing
the config file, this is a bug.
* toggle-truncate-lines(); is ambiguous, set-variable(“truncate-lines”, “1”);
would be more explicit, I shall make this a variable too.
Again, some variables are local and some are global, this is confusing and I
shall try to find a sensible solution.
>> The good news is there is a simple solution for you in the mean time:
>>
>> create a file named .qerc (DOT Q E R C) in your home directory with this
>> contents:
>>
>> indent_tabs_mode = 1;
>
> Ah thanks, it finally works.
>
>> When qemacs loads a file or creates a new file, it loads and evaluates all
>> .qerc files it finds in all parent directories of the file, from the root
>> directory all the way to the file directory.
>> You can use this facility to set personal defaults in your home directory
>> and project specific settings in different project directories.
>>
>> This should solve your problem.
>>
>
> I have to say that this config file business is 1) Extremely confusing (what's
> the difference between .qe/config and .qerc?) and 2) Not documented at all.
I apologize for the broken design, it is indeed confusing and I want to change
it to something more intuitive that will be documented properly.
~/.qe/config is the global configuration file, but the distinction between
global and window local or even mode local variables is indeed confusing.
The .qerc files are a non intrusive alternative to the syntax hacks introduced
by emacs and vim for local customisation.
I welcome any suggestions, simplicity is definitely a goal.
Do you use qemacs in a terminal emulator or in an X11 window ?
Are you based in Paris ?
Chqrlie.