Right now parsing of modules is not enabled. The problem is that module
name in ocaml is the name of the source file and with our unit tests
the source file name is a temporary name so we get different tag name
every time and the unit test fails.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3163
-- Commit Summary --
* Add Ocaml ctags parser
-- File Changes --
M ctags/Makefile.am (1)
A ctags/parsers/ocaml.c (2094)
M meson.build (1)
M src/filetypes.c (2)
M src/tagmanager/tm_parser.c (21)
M src/tagmanager/tm_parser.h (1)
M src/tagmanager/tm_parsers.h (3)
M tests/ctags/Makefile.am (1)
A tests/ctags/simple.ml (34)
A tests/ctags/simple.ml.tags (8)
M tests/meson.build (1)
-- Patch Links --
https://github.com/geany/geany/pull/3163.patchhttps://github.com/geany/geany/pull/3163.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3163
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3163(a)github.com>
The Fortran function random_init is not highlighted in f90 files.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3362
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3362(a)github.com>
This fixes #3362.
I added the keywords from Fortran 2018 with the help of a python script (if this has to be done again in the future).
The current standard and keywords can be found here:
https://j3-fortran.org/doc/year/18/18-007r1.pdfhttps://github.com/cdslaborg/FortranKeywords
<details>
<summary>Script</summary>
```python
old_f = open("filetypes.fortran", "r")
old_lines = old_f.read().splitlines()
old_primary = set()
old_intrinsic_functions = set()
old_user_functions = set()
for line in old_lines:
s = line.split("=")
if s[0] == "primary":
for w in s[1].split():
old_primary.add(w)
elif s[0] == "intrinsic_functions":
for w in s[1].split():
old_intrinsic_functions.add(w)
elif s[0] == "user_functions":
for w in s[1].split():
old_user_functions.add(w)
old_f.close()
f = open("FortranKeywords2018.txt", "r")
lines = f.read().splitlines()
primary = set()
intrinsic_functions = set()
user_functions = set()
types_primary = {"specifier", "statement", "attribute"}
types_intrinsic_functions = {
"function_elemental",
"function_transformational",
"function_inquiry",
"function_void",
"subroutine",
"subroutine_atomic",
"subroutine_pure",
"constant",
"subroutine_collective",
"type_derived",
"module_intrinsic",
}
types_user_functions = {}
old_maping = {
"primary": set(),
"intrinsic_functions": set(),
"user_functions": set(),
"unspecified": set(),
}
for line in lines:
s = line.split(",")
ws = s[0].replace("(", " ").replace(")", " ").replace(".", " ").split()
# check old maping
for w in ws:
wl = w.lower()
if wl in old_intrinsic_functions and not wl in old_primary :
old_maping["intrinsic_functions"].add(s[1])
elif wl in old_primary and not wl in old_intrinsic_functions:
old_maping["primary"].add(s[1])
# elif wl in old_user_functions:
# old_maping["user_functions"].add(s[1])
old_maping["unspecified"].add(s[1])
old_maping["unspecified"] = (
old_maping["unspecified"]
- old_maping["primary"]
- old_maping["intrinsic_functions"]
- old_maping["user_functions"]
)
if s[1] in types_primary:
for w in ws:
primary.add(w.lower())
elif s[1] in types_intrinsic_functions:
for w in ws:
intrinsic_functions.add(w.lower())
elif s[1] in types_user_functions:
for w in ws:
user_functions.add(w.lower())
else:
print("not added:", s)
if s[0] in old_primary:
print("old_primary")
if s[0] in old_primary:
print("old_intrinsic_functions")
f.close()
old_dubs = old_intrinsic_functions.intersection(old_primary)
wrong = (
primary.intersection(old_intrinsic_functions).union(
intrinsic_functions.intersection(old_primary)
)
- old_dubs
)
print("wrong:", wrong)
# print("old duplicates:", old_dubs)
# dubs = primary.intersection(intrinsic_functions)-old_dubs
# print("dubs:",' '.join(dubs))
print("\nmissing primary:", " ".join(primary - old_primary))
print(
"\nmissing intrinsic_functions:",
" ".join(intrinsic_functions - old_intrinsic_functions),
)
print("\n approximate old maping:", old_maping)
# print("legacy:")
# print("primary:", old_primary-primary)
# print("intrinsic_functions:", old_intrinsic_functions-intrinsic_functions)
```
</details>
Some if the keywords are added to both primary and intrinsic_functions, but this was also the case in the past. I mapped keyword categories (from the standard) to "primary" and "intrinsic_functions" like it has been in the past, and new categories like "module_intrinsic" have been added to the most fitting one.
As far as I can tell, it is correct and all keywords are handled. Also, I didn't remove any of the existing keywords to keep compatibility to older Fortran versions.
<details>
<summary>Category Mapping</summary>
```python
primary = {"specifier", "statement", "attribute"}
intrinsic_functions = {
"function_elemental",
"function_transformational",
"function_inquiry",
"function_void",
"subroutine",
"subroutine_atomic",
"subroutine_pure",
"constant",
"subroutine_collective",
"type_derived",
"module_intrinsic",
}
```
</details>
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3656
-- Commit Summary --
* update fortran keywords
-- File Changes --
M data/filedefs/filetypes.fortran (4)
-- Patch Links --
https://github.com/geany/geany/pull/3656.patchhttps://github.com/geany/geany/pull/3656.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3656
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3656(a)github.com>
The Help command does not work on my Linux Mint 21 system, because BROWSER env variable is not set so `sensible-browser` does nothing. At minimum, the Help command should report an error when the return value is non-zero.
However, my system does have a preferred browser set to firefox - I'm not sure if this is part of a (freedesktop.org?) standard. Ideally Geany would use that as the default browser tool. Or is that moving to $BROWSER instead?
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3468
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3468(a)github.com>
This happens with erlang files, just erlang files
Im on 1.37. If im not wrong, this didnt happened on 1.36...
It looks (erlang file):
![Screenshot_2020-11-09_09-55-08](https://user-images.githubusercontent.com/8375315/98543800-c2378780-2271-11eb-9407-01aa93edb541.png)
It should look (python file):
![Screenshot_2020-11-09_09-55-25](https://user-images.githubusercontent.com/8375315/98543814-c794d200-2271-11eb-85ac-c7fca5f635b9.png)
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2650
Hi all.
I'd say I qualify with a frequent and happy Geany user, as I just love that IDE — been my favourite for nearly two decades now.
The issue I have is somewhat annoying and describes as follows:
* Enable the VTE in Geany preferences
* In Geany additions preferences, enable " _Enclose selection automatically without requiring a shortcut_ "
* Select some text in the editor
* Switch to the VTE and type a command that requires quoting, parentheses or braces
**What happens**: the previously selected text is enclosed with the first enclosing character that occurred while typing in the VTE instead of being silently eaten, as one would expect.
I use the VTE on a regular basis and I found myself accepting to watch out for any selection before I use the VTE. But despite my efforts I fail and I think that's to be expected, as a human :-D .
*DISCLAIMER: I don't know if it's a VTE issue, a plugin issue, a geany issue or a GTK issue; I needed to start somewhere so I submit it here.* Be free to dispatch it at will to the right audience if that's necessary. And if *I* need to do that, I will, no wuckers. Just orient me.
As for the techno stuff, before you ask: I'm running Geany on Manjaro. My current version is **1.38-2** "_Sulamar_" and plugins are version **1.38-3**. The issue I described has existed for as long as I can remember.
I'd like to thank the community for providing such a great, bloat-free tool, a breathe compared to the usual monsters, IMHO. May the Geany remain out the bottle for a long, long time.
ℼ
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/1181
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany-plugins/issues/1181(a)github.com>
I am looking for some kind of "Console View" like it is available for example in Eclipse.
Currently a terminal / shell opens when executing a script in Geany. In this shell one can see the process streams stdout and stderr and can write to stdin of the new process.
However, I would rather eliminate this new terminal window popping up and changing focus each time I launch a script in Geany.
I think it is better to have the process communication (stdout, stdin, stderr) embedded in a view within Geany like it is done in many IDEs. The different streams could be colored e.g. stderr in red and stdin (input from the user) in green.
---
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/675