An offspring of #3716, with small things on the improvement side rather than fixes.
* Merge 2 controls in the prefs dialog (no functional change intended, but gets rid of a checkbox and some UI code)
* Don't display unsupported encodings in the encoding menus and combo boxes (e.g. [ISO-8859-8-I](https://en.wikipedia.org/wiki/ISO-8859-8-I) and [HZ](https://en.wikipedia.org/wiki/HZ_(character_encoding)) are commonly unsupported on Linux, and I hear [ISO-IR-111](https://en.wikipedia.org/wiki/ISO-IR-111) usually isn't available on Windows)
* Don't try unsupported encodings when guessing encoding (because it's useless)
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3720
-- Commit Summary --
* prefs: Remove separate checkbox for default open encoding
* encodings: Add a flag for whether the encoding is supported
* Don't display unsupported encodings
* Don't try knowingly unsupported encodings
-- File Changes --
M data/geany.glade (16)
M doc/geany.txt (10)
M src/encodings.c (35)
M src/encodingsprivate.h (1)
M src/prefs.c (40)
-- Patch Links --
https://github.com/geany/geany/pull/3720.patchhttps://github.com/geany/geany/pull/3720.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3720
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3720(a)github.com>
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>
After successful installation of geany-plugins-2.0_setup.exe with standard settings only a few plugins are available in Geany.
Error message says plugins are not binary compatible with this release of geany and needs to be recompiled.
In previous version 1.38 already some plugins were missing like git-changebar but now lot more.
Both Geany and Geany-Plugins are installed in Windows user directory.
![grafik](https://github.com/geany/geany-plugins/assets/52318651/97da42b5-ce8a-41df-aed4-bbe80cecc711)
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/1292
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany-plugins/issues/1292(a)github.com>
With Geany 2.0 there is a new question for **Search and Replace** dialog:
**Are you sure to replace in the whole session?**
![image](https://github.com/geany/geany/assets/31816829/6121a941-0a21-4dd3-866b-7caa1861b71b)
I'm against, this is unacceptable for me.
Is there, or can you add an option to disable it?
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3702
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3702(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
The Re-load All feature is implemented with a check if the files are modified inside the memory buffer. The buttons on the info_bar are drawn vertically, as there can be as much as five options, depending on the scenario, see picture below. See also the discussion [here.](https://github.com/geany/geany/issues/2540)
![geany_vertical](https://github.com/geany/geany/assets/7198614/c7864dcc-2e4c-4c55-9cf0-5aa8cb45c5d9)
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3722
-- Commit Summary --
* Draft implementation of reload-all. Messy GUI and RESPONSE_DOCUMENT_RELOAD_ALL not handled correctly.
* Created bool unmodified_files_present to make gui button optional.
* Merge branch 'geany:master' into re-load-all
* Replaced fixed size number of button arguments with variable sized array of buttons (and responses) in document_show_message().
* Re-load All feature works functionally (but GUI needs re-work): detection if buffers are modified is built-in and user is offered a choice to reload all (and drop buffer modifications), reload only unmodified ones, or only the document in focus.
* Connected File->Re-load button and updated description.
* Switched to vertical buttons inside info_bar to avoid crowded Gtk-boxes.
-- File Changes --
M COMMITTERS (1)
M THANKS (2)
M data/geany.glade (11)
M src/callbacks.c (63)
M src/callbacks.h (2)
M src/dialogs.c (2)
M src/document.c (674)
M src/document.h (35)
M src/documentprivate.h (9)
M src/editor.c (4)
M src/keybindings.c (5)
M src/libmain.c (4)
-- Patch Links --
https://github.com/geany/geany/pull/3722.patchhttps://github.com/geany/geany/pull/3722.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3722
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3722(a)github.com>