Hi all,
I just made a test build of Geany Plugins 1.22 for Windows.
A little surprisingly for me, it all worked fine on the first attempt :).
I only had problems loading the Geany-Lua plugin with some strange error
message which I didn't investigate yet:
http://pastebin.geany.org/EUmwJ/
The error message occurs on plugin loading. I'm not sure whether it is
caused by my system or something else.
If anyone wants to test it, any feedback is appreciated.
The installer...
http://www.uvena.de/tmp/geany-plugins-1.22_setup_testbuild.exe
... requires an existing Geany 1.22 installation.
Regards,
Enrico
--
Get my GPG key from http://www.uvena.de/pub.asc
Matthew Brush <notifications(a)github.com> wrote:
> @elextr FWIW, the files `makefile.win32` and `win32env.mk` (and geanypy.nsis for the installer and README.win32 for the instructions) are needed for `src/makefile.win32` to be useful.
>
> @eht16 Any chance you could get some time to try getting the Waf build system working so it can be built on Windows?
Taking cause from Geanypy, there are 2 small problems with $subject:
- no header fiels are installed, or maybe they are copied somewhere
outside the $prefix. Copying the headers manually is OK.
- geany.pc contains paths with single backslashes, and plugins build
fails with "c:path1path2...: no such file or directory". Replacing
with forward slashes works. All other .pc files I've checked under
win32 use forward slashes.
I haven't tried the latest git though.
--
E-gards: Jimmy
Hi Enrico,
We have had a report on IRC that running geany on the windows command
line will only open files in the Geany install directory unless you
use the full path.
eg C:\somepath> geany somefile.txt
will open installpath\somefile.txt not somepath\somefile.txt.
And with the "Open new documents from the command line" option set it
creates somefile.txt in the install dir since it doesn't exist there.
Suspicion is falling on
https://github.com/geany/geany/commit/775ef628688c69de34640e12666aed5762a80…
As the most experienced windowser (and the committer of that change)
could you look at it please?
Cheers
Lex
Hi All,
Its about that time of year when we have our annual discussion on
separating session data from config/project data :)
By session data I mean the list of currently open files and MRU list.
The advantages (that I can see):
1. Save config/project as its changed and not rushed at quit time (and
the quit save doesn't happen in the absence of a working, portable,
session management capability)
2. Save session data periodically, or as it changes, or whenever,
without touching the config/project files. So the config isn't at
risk if the session save goes wrong.
The only disadvantage for user config (that I can see) is that it adds
one file, say geany.session.conf alongside geany.conf
For project sessions just using another file in the same place as the
project file is more of a problem since project files can be in the
project tree and some people like to save them in VCS. So users would
have to make sure that their git.ignore (or whatever the other VCSes
use) is edited each time so that the session file isn't saved in the
VCS.
A better option, especially since sessions are inherently user
related, is to store them in the user config location (or subdirectory
thereof). But how to link these files to the project files?
The proposal is that each project gets a UUID generated when it is
created (or when its opened without one) which is saved in the project
file. This uuid is the name of the session file in the
${GEANY_CONFIG}/sessions directory. That way, when a project is
opened, it is easy to uniquely find the session file if it exists.
Using things like filenames, project names etc will always have
clashes. Libuuid is used by GTK so it will always be available on all
platforms we use and so making the UUID is one call. (Pity GTK doesn't
expose it though)
The number of session files can be left to grow like weeds, or can be
trimmed to a (configurable) maximum number deleting the oldest when
needed.
This proposal isn't about a proper session management capability,
there isn't one that works on enough platforms to be worth including.
Any thoughts welcome.
Cheers
Lex
Originally sent only to Steven only by accident.
Note to him and his email client settings, when you reply to a list mail,
reply to the list *only*, if you reply to the list and an individual, their
mailer may choose to reply to you only, thus having the conversation fall
off list.
---------- Forwarded message ----------
From: Lex Trotman <elextr(a)gmail.com>
Date: 29 July 2013 16:39
Subject: Re: [Geany-Devel] wordchars in filetypes.r
To: Steven Blatnick <steve8track(a)yahoo.com>
On 29 July 2013 16:13, Steven Blatnick <steve8track(a)yahoo.com> wrote:
> Sweet! I've changed some syntax highlighting colors, but I didn't realize
> the word def was in there too.
>
> Is there a way to add highlighting to variables and escape sequences
> within a string? For example (perl):
>
> print "My name is $name\n";
>
> Where $name and/or \n are highlighted with a different color within a
> string. Also, I'm not at my computer, but many editors struggle with perl
> strings as they can be delimeted quite liberally, like qq~this~. I'll have
> to see if geany has some of those issues when I get a chance.
>
> Maybe these are scintilla issues though?
>
There are a bunch of pieces of string syntax detected by the perl lexer:
val SCE_PL_HERE_Q=23
val SCE_PL_HERE_QQ=24
val SCE_PL_HERE_QX=25
val SCE_PL_STRING_Q=26
val SCE_PL_STRING_QQ=27
val SCE_PL_STRING_QX=28
val SCE_PL_STRING_QR=29
val SCE_PL_STRING_QW=30
val SCE_PL_STRING_VAR=43
val SCE_PL_BACKTICKS_VAR=57
val SCE_PL_HERE_QQ_VAR=61
val SCE_PL_HERE_QX_VAR=62
val SCE_PL_STRING_QQ_VAR=64
val SCE_PL_STRING_QX_VAR=65
val SCE_PL_STRING_QR_VAR=66
Some of these might be the items you are looking for.
The thing to do is to add "style number of the character at the cursor" to
the status bar by editing your statusbar template (see the docs :).
When you find what the interpolated variable is styled as, then you can
check in highlightingmappings.h what string that style is mapped to, and
then set it to whatever you want in your user filetypes.perl file. So
Matthew doesn't shout at me I should add you should set it to a named style
from your colour scheme, not a hardcoded colour :)
If the syntax you want isn't detected, ie it has the style number of the
rest of the string, then its a scintilla problem (feature request?).
Thanks for telling me word definitions are settable.
>
Basically anything that is settable in the system filetypes files can be
overridden in the user filetype files, if it doesn't its a bug (or a user
error :).
You should never edit the system files since they will be overridden when
you next upgrade Geany.
Cheers
Lex
> Steve
>
> Sent from Yahoo! Mail on Android
>
> ------------------------------
> * From: * Lex Trotman <elextr(a)gmail.com>;
> * To: * Geany development list <devel(a)lists.geany.org>;
> * Subject: * Re: [Geany-Devel] wordchars in filetypes.r
> * Sent: * Mon, Jul 29, 2013 5:57:03 AM
>
>
>
>
> On 29 July 2013 15:45, Steven Blatnick <steve8track(a)yahoo.com> wrote:
>
>> Personally I wish ctrl+left/right and double clicking would not include _
>> as word chars so I have the granularity I'm used to, even though I guess
>> including underscore would be more correct for "words".
>>
>> Could this be one of those tweakable miscilaneous properties so different
>> people could set it how they like? (Like the "show scribble" checkbox, etc)
>>
>
> Hi Steven,
>
> You can already tweak it since you can have edited entries in your
> personal filetypes.xxx which override the system ones.
>
> Cheers
> Lex
>
>
>
>> Sent from Yahoo! Mail on Android
>>
>>
I disagree. Do you really want Ctrl+left and Ctrl+right to skip over dots within words as if they were letters? I don't.
What's your reasoning?
Thrawn
------------------------------
On Sat, Jul 27, 2013 11:18 PM AEST Liviu Andronic wrote:
>Dear devels,
>The filetypes.r currently shipped with Geany contains the following
>wordchars definition:
>#wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
>
>The correct definition should be the following (dot, underscore, and
>alpha-numerics):
>wordchars=_.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
I was just wondering if someone was still working on switching the file modified windows to those inline warning windows instead of popups. I just got the popup and closed it before I read what I had done :-)
Oh, as a side note, I thought when I type a number and hit enter on the GOTO field on the toolbar, it would go to the entered line, but it's not. I have to manually hit the Jump To button. I don't see a bug for it on sourceforge, so I guess I'll report it.
Thanks,
Steve
Hi, all,
It may seem obvious, but if you make a plugin resident with $subject,
and then reload it (by un-checking and re-checking it's name in the
Plugin Manager), plugin_finalize() and plugin_init() will be executed,
but any global variables will not be re-initialized. So be careful.
Personally I expected that a new copy of the plugin will be loaded
every time, and the ones that call $subject will stay in memory to
support the new gtype(s), but will be otherwise dead. It may be nice
to add a note to the $subject description in pluginutils.c, though
my english is not good enough to explain it briefly.
P.S. I'll fix Scope in the next new days.
--
E-gards: Jimmy
Hi, folks.
Dimitar Zhekov wrote:
> Better for what? I use tabs for indentation because with the tab size,
> I can easily control the screen ammount of indentation, depending on
> the font and display. Saving disk space has nothing to do with that,
> I'll have to live very long to write 1GB of source code. :)
Likewise. I like tabs for indentation because 1 indent = 1 character,
and everyone can have different ideas about how big that indent should be.
Lex Trotman wrote:
>2) There has been much discussion on the ML and several actual prototypes
>of improved indentation/alignment schemes that are flexible enough to
>address many languages (even just many C style languages is a hard
>problem). None of them have been sufficiently correct, enough of the time,
>to overcome the problems of being really annoying when they are incorrect.
Yeah, I've seen a little of that discussion,
and I'm not looking to solve it in 5 minutes :).
>3) But there is no way to tell Geany to not apply indentation per file, so
>Geany will still do its thing independent of the plugin (and that includes
>moving } not just on enter).
Maybe what is needed is not a configuration file per language,
but instead a code snippet per language? But I guess Geany would then
have to rely on the presence of a dynamic language on the system,
or else write it in C and have to rebuild from source to change it :s.
>Splitting a line on user command is certainly an easier way to do it, I
>assume you mean last *unmatched* bracket on the line (that is not in a
>string or comment). Oh and don't forget C++ uses <> as brackets for
>templates, but don't confuse that with the places it uses them for gt and
>lt :)
Good point. I might actually ignore the angle bracket issue,
unless it's really likely that people will have so many entries in a template
that they'll want to split the line. Otherwise...I guess when it found a <
it could search the rest of the line for a matching > and decide based on that.
>Finally plugins should *not* bind keys by default, they have no way of
>knowing if the user has already bound that key to something else (and of
>course multiple plugins binding the same key :).
Oh, I know, I was just thinking aloud about which keybinding I might use.
> Adding such analysis could be a big job but in my experience Emacs does
> produce a reasonable result.
Yeah, that looks too big for what I was thinking of,
but thanks for pointing it out. I might use it as a reference.
Thomas Martitz wrote:
> Bah, this "everything must be a plugin" really annoys me...
> What's wrong with you accepting new code in the core?
Actually, I agree that custom indentation schemes are too troublesome to include in core...
unless someone, somehow, has a spark of genius allowing them to invent a perfect
one-scheme-fits-all approach. This idea - particularly the Lua script - is far from that.