Skip to content

Commit e9a80b0

Browse files
authored
Merge branch 'master' into jeremypw/rework-highlight-selection2
2 parents a62272a + d065ae9 commit e9a80b0

File tree

646 files changed

+65214
-42858
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

646 files changed

+65214
-42858
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
image: ghcr.io/elementary/docker:${{ matrix.version }}
1919

2020
steps:
21-
- uses: actions/checkout@v4
21+
- uses: actions/checkout@v6
2222
- name: Install Dependencies
2323
run: |
2424
apt update
@@ -45,15 +45,15 @@ jobs:
4545
fail-fast: false
4646

4747
container:
48-
image: ghcr.io/elementary/flatpak-platform/runtime:8-${{ matrix.configuration.arch }}
48+
image: ghcr.io/elementary/flatpak-platform/runtime:8.2-${{ matrix.configuration.arch }}
4949
options: --privileged
5050

5151
steps:
5252
- name: Checkout
53-
uses: actions/checkout@v4
53+
uses: actions/checkout@v6
5454

5555
- name: Build
56-
uses: flatpak/flatpak-github-actions/flatpak-builder@v6.5
56+
uses: flatpak/flatpak-github-actions/flatpak-builder@v6.6
5757
with:
5858
bundle: code.flatpak
5959
manifest-path: io.elementary.code.yml
@@ -71,7 +71,7 @@ jobs:
7171

7272
steps:
7373
- name: Checkout
74-
uses: actions/checkout@v4
74+
uses: actions/checkout@v6
7575

7676
- name: Lint
7777
run: io.elementary.vala-lint -d .

.github/workflows/merge.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99

1010
steps:
1111
- name: Clone repository
12-
uses: actions/checkout@v4
12+
uses: actions/checkout@v6
1313
with:
1414
token: ${{ secrets.GIT_USER_TOKEN }}
1515

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ jobs:
99
runs-on: ubuntu-latest
1010
if: github.event.pull_request.merged == true && true == contains(join(github.event.pull_request.labels.*.name), 'Release')
1111
steps:
12-
- uses: actions/checkout@v4
13-
- uses: elementary/actions/release@master
12+
- uses: actions/checkout@v6
13+
- uses: elementary/actions/release@main
1414
env:
1515
GIT_USER_TOKEN: "${{ secrets.GIT_USER_TOKEN }}"
1616
GIT_USER_NAME: "elementaryBot"

data/code.metainfo.xml.in

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929

3030
<screenshots>
3131
<screenshot type="default">
32-
<image>https://raw.githubusercontent.com/elementary/code/8.0.0/data/screenshot.png</image>
32+
<image>https://raw.githubusercontent.com/elementary/code/8.1.2/data/screenshot.png</image>
3333
</screenshot>
3434
<screenshot>
35-
<image>https://raw.githubusercontent.com/elementary/code/8.0.0/data/screenshot-dark.png</image>
35+
<image>https://raw.githubusercontent.com/elementary/code/8.1.2/data/screenshot-dark.png</image>
3636
</screenshot>
3737
</screenshots>
3838

@@ -68,6 +68,62 @@
6868
<update_contact>contact_AT_elementary.io</update_contact>
6969

7070
<releases>
71+
<release version="8.1.2" date="2025-11-05" urgency="medium">
72+
<description>
73+
<p>Minor updates:</p>
74+
<ul>
75+
<li>The tooltips for C symbols are now more informative</li>
76+
<li>Cloning success is now indicated by toast instead of a dialog</li>
77+
<li>Global search and local search now have the same case sensitivity</li>
78+
<li>Opening a second window no longer results in duplicate project entries in the project chooser</li>
79+
<li>Updated translations</li>
80+
</ul>
81+
</description>
82+
<issues>
83+
<issue url="https://github.com/elementary/code/issues/1628">Git clone success dialog should be a toast</issue>
84+
<issue url="https://github.com/elementary/code/issues/1507">Duplicate projects in dropdown after opening second window from duplicate tab</issue>
85+
<issue url="https://github.com/elementary/code/issues/1277">Global Search case sensitivity behaviour differs from local search</issue>
86+
</issues>
87+
</release>
88+
<release version="8.1.1" date="2025-09-06" urgency="medium">
89+
<description>
90+
<p>Minor updates:</p>
91+
<ul>
92+
<li>The terminal pane is now synchronized with the Terminal app foreground, background and palette settings</li>
93+
<li>The terminal pane is now synchronized with GNOME font and cursor blink settings</li>
94+
<li>Updated translations</li>
95+
</ul>
96+
</description>
97+
<issues>
98+
<issue url="https://github.com/elementary/code/issues/1586">Relies on external Terminal settings keys</issue>
99+
<issue url="https://github.com/elementary/code/issues/457">Exiting process running in terminal leaves terminal useless</issue>
100+
<issue url="https://github.com/elementary/code/issues/276">Listen for changes to Terminal color scheme</issue>
101+
</issues>
102+
</release>
103+
<release version="8.1.0" date="2025-08-01" urgency="medium">
104+
<description>
105+
<p>Improvements:</p>
106+
<ul>
107+
<li>The Project Chooser context menu now includes an option to clone a remote git repository</li>
108+
</ul>
109+
<p>Minor updates:</p>
110+
<ul>
111+
<li>The "Open Folder" action now appears in the Project Chooser context menu</li>
112+
<li>The Vala symbol pane now shows a spinner while loading</li>
113+
<li>The filter in the C symbol pane now works</li>
114+
<li>Updated translations</li>
115+
</ul>
116+
</description>
117+
<issues>
118+
<issue url="https://github.com/elementary/code/issues/1629">Markdown plug: Extending an ordered list at end of document causes infinite loop</issue>
119+
<issue url="https://github.com/elementary/code/issues/1603">8.0.0 FTBFS with GCC 14 (-Wimplicit-function-declaration)</issue>
120+
<issue url="https://github.com/elementary/code/issues/1597">Symbol pane filter should work for C symbols too</issue>
121+
<issue url="https://github.com/elementary/code/issues/1443">Code crashes when deleting lines</issue>
122+
<issue url="https://github.com/elementary/code/issues/740">Blank tooltip on hovering expanded empty folder</issue>
123+
<issue url="https://github.com/elementary/code/issues/385">Do not allow projects to be moved to trash from the sidebar</issue>
124+
<issue url="https://github.com/elementary/code/issues/26">Outline plugin does not indicate when it is loading</issue>
125+
</issues>
126+
</release>
71127
<release version="8.0.0" date="2025-06-20" urgency="medium">
72128
<description>
73129
<p>Improvements:</p>

data/io.elementary.code.desktop.in.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ Icon=document-new
2020
[Desktop Action NewWindow]
2121
Name=New Window
2222
Exec=@EXEC_NAME@ --new-window
23-
icon=window-new
23+
Icon=window-new

data/io.elementary.code.gschema.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,11 @@
106106
<summary>Highlight Matching Brackets</summary>
107107
<description>Whether Code should highlight matching brackets.</description>
108108
</key>
109+
<key name="syntax-highlighting" type="b">
110+
<default>true</default>
111+
<summary>Highlight source code syntax</summary>
112+
<description>Whether Code should apply syntax highlighting to documents.</description>
113+
</key>
109114
<key name="draw-spaces" enum="io.elementary.code.draw-spaces-states">
110115
<default>"For Selection"</default>
111116
<summary>Draw spaces and tabs with symbols</summary>

data/meson.build

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ endforeach
1616
install_data([
1717
'styles/elementary-dark.xml',
1818
'styles/elementary-light.xml',
19+
'styles/elementary-highcontrast-light.xml',
1920
], install_dir: get_option('datadir') / 'gtksourceview-4' / 'styles')
2021

2122
install_data([
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<style-scheme id="elementary-highcontrast-light" _name="elementary High Contrast Light" version="1.0">
4+
<author>Elementary Developers</author>
5+
<_description>High Contrast color scheme using the elementary color palette</_description>
6+
7+
<!-- Background Colors Palette -->
8+
<color name="bg-0" value="#abacae"/> <!-- SILVER700-->
9+
<color name="bg-1" value="#d4d4d4"/> <!-- SILVER300-->
10+
<color name="bg-2" value="#fafafa"/> <!-- SILVER100-->
11+
<color name="bg-3" value="#EAEAEA"/> <!-- 50% SILVER300 + 50% WHITE
12+
13+
-->
14+
15+
<!--Foreground Colors Palette -->
16+
<color name="fg-0" value="#000000"/> <!-- BLACK900 -->
17+
<color name="fg-1" value="#1a1a1a"/> <!-- BLACK700 -->
18+
<color name="fg-2" value="#abacae"/> <!-- SILVER500 -->
19+
20+
<!--Highlight Colors Palette -->
21+
<color name="mud" value="#804b00"/> <!-- LATTE900 -->
22+
<color name="latte" value="#e7c591"/> <!-- LATTE300 -->
23+
<color name="yellow" value="#d48e15"/> <!-- BANANA700 -->
24+
<color name="orange" value="#cc3b02"/> <!-- ORANGE700 -->
25+
<color name="pink" value="#bc245d"/> <!-- BUBBLEGUM700 -->
26+
<color name="purple" value="#452981"/> <!-- GRAPE900 -->
27+
<color name="cyan" value="#007367"/> <!-- MINT900 -->
28+
<color name="blue" value="#0d52bf"/> <!-- BLUEBERRY700 -->
29+
<color name="lime" value="#68b723"/> <!-- LIME500 -->
30+
<color name="green" value="#206b00"/> <!-- LIME900 -->
31+
<color name="red" value="#a10705"/> <!-- STRAWBERRY700 -->
32+
<color name="black" value="#000000"/>
33+
34+
35+
<!-- Global Settings -->
36+
<style name="text" foreground="fg-0" background="bg-2"/>
37+
<style name="selection" background="latte"/>
38+
<style name="cursor" foreground="fg-0"/>
39+
<style name="secondary-cursor" foreground="fg-1"/>
40+
<style name="current-line" background="bg-1"/>
41+
<style name="line-numbers" foreground="fg-1" background="bg-3"/>
42+
<style name="background-pattern" background="bg-3"/>
43+
<style name="draw-spaces" foreground="fg-2"/>
44+
45+
<!-- Bracket Matching -->
46+
<style name="bracket-match" foreground="lime" background="bg-2" bold="true"/>
47+
<style name="bracket-mismatch" foreground="red" background="fg-2" bold="true"/>
48+
49+
<!-- Right Margin -->
50+
<style name="right-margin" foreground="bg-3" background="fg-1"/>
51+
52+
<!-- Search Matching -->
53+
<style name="search-match" foreground="black" background="yellow"/>
54+
55+
<!-- Comments -->
56+
<style name="def:comment" foreground="blue" italic="true"/>
57+
<style name="def:shebang" foreground="fg-1" bold="true"/>
58+
<style name="def:doc-comment-element" italic="true"/>
59+
60+
<!-- Constants -->
61+
<style name="def:constant" foreground="cyan"/>
62+
<style name="def:special-char" foreground="green"/>
63+
64+
<!-- Identifiers -->
65+
<style name="def:identifier" foreground="blue" bold="true"/>
66+
67+
<!-- Statements -->
68+
<style name="def:statement" foreground="orange"/>
69+
70+
<!-- Types -->
71+
<style name="def:type" foreground="green" bold="true"/>
72+
<style name="def:string" foreground="pink"/>
73+
<style name="def:keyword" foreground="mud" bold="true"/>
74+
75+
<!-- Markup -->
76+
<style name="def:emphasis" italic="true"/>
77+
<style name="def:strong-emphasis" foreground="orange"/>
78+
<style name="def:inline-code" foreground="blue"/>
79+
<style name="def:insertion" underline="single"/>
80+
<style name="def:deletion" strikethrough="true"/>
81+
<style name="def:link-text" foreground="fg-1"/>
82+
<style name="def:link-symbol" foreground="fg-1" bold="true"/>
83+
<style name="def:link-destination" italic="true" underline="single"/>
84+
<style name="def:heading" foreground="yellow"/>
85+
<style name="def:thematic-break" foreground="yellow"/>
86+
<style name="def:preformatted-section" foreground="blue"/>
87+
<style name="def:list-marker" foreground="orange"/>
88+
89+
<!-- Operators -->
90+
<style name="def:operator" foreground="lime" bold="true" />
91+
92+
<!-- Others -->
93+
<style name="def:preprocessor" foreground="purple"/>
94+
<style name="def:error" foreground="red" bold="true"/>
95+
<style name="def:note" foreground="pink" bold="true"/>
96+
<style name="def:net-address" italic="true" underline="single"/>
97+
98+
<!-- Language specific styles -->
99+
<style name="diff:added-line" foreground="green"/>
100+
<style name="diff:removed-line" foreground="red"/>
101+
<style name="diff:changed-line" foreground="yellow"/>
102+
<style name="diff:special-case" use-style="def:constant"/>
103+
<style name="diff:location" use-style="def:statement"/>
104+
<style name="diff:diff-file" use-style="def:type"/>
105+
106+
<style name="xml:tags" foreground="cyan" bold="true"/>
107+
<style name="xml:attribute-name" foreground="purple" bold="true"/>
108+
<style name="xml:namespace" foreground="lime" bold="true"/>
109+
110+
<style name="js:built-in-constructor" use-style="def:identifier"/>
111+
112+
<style name="latex:display-math" foreground="purple"/>
113+
<style name="latex:command" foreground="green" bold="true"/>
114+
<style name="latex:include" use-style="def:preprocessor"/>
115+
116+
<style name="sh:variable" foreground="purple"/>
117+
118+
<!-- legacy styles for old lang files -->
119+
<style name="Others" foreground="green" bold="true"/>
120+
<style name="Others 2" foreground="cyan"/>
121+
<style name="Others 3" foreground="purple"/>
122+
123+
</style-scheme>

io.elementary.code.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
app-id: io.elementary.code
1+
id: io.elementary.code
22
runtime: io.elementary.Sdk # The outline plugin requires libvala which is only in the SDK, not the runtime
3-
runtime-version: '8' # Does not build with version '8.1' for some reason
3+
runtime-version: '8.2'
44
sdk: io.elementary.Sdk
55
command: io.elementary.code
66
finish-args:
@@ -26,6 +26,8 @@ cleanup:
2626
- '/share/vala'
2727
- '*.a'
2828
- '*.la'
29+
build-options:
30+
libdir: /app/lib
2931
modules:
3032
- name: gtksourceview
3133
buildsystem: meson
@@ -66,7 +68,6 @@ modules:
6668
- '-DBUILD_SHARED_LIBS:BOOL=ON'
6769
- '-DBUILD_EXAMPLES:BOOL=OFF'
6870
- '-DBUILD_TESTING:BOOL=OFF'
69-
- '-DCMAKE_INSTALL_LIBDIR:PATH=/app/lib'
7071
cleanup:
7172
- '/share/man'
7273
- '/share/doc'

meson.build

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ project(
22
'io.elementary.code',
33
'vala', 'c',
44
meson_version: '>= 0.58.0',
5-
version: '8.0.0'
5+
version: '8.1.2'
66
)
77

88
add_project_arguments([
@@ -73,6 +73,40 @@ if get_option('development') and git.found ()
7373
branch = output.stdout().strip()
7474
endif
7575

76+
# Profiler linking code taken from https://github.com/RidgeRun/gst-inference/blob/master/meson.build
77+
# with some amendments
78+
# 'libprofiler' and 'libtcmalloc' are provided by installing (e.g.) 'google-perftools' and 'libgoogle-pertools-dev'
79+
# Profiling is not active unless either the correct environment variables are set at runtime
80+
# or the profiling is switched on/off in the code using the CPU_PROFILING and HEAP_PROFILING conditional compilation flags
81+
# with the commands Profiler.start (<path-to-profile-output>) and Profiler.stop () and the corresponding HeapProfiler functions
82+
# It is advisable not to run cpu profiling at the same time as heap profiling
83+
# If meson options are changed then rebuild with 'cd .. && sudo rm -R ./build && build'
84+
# See https://github.com/gperftools/gperftools/blob/master/docs/cpuprofile.adoc
85+
# and https://github.com/gperftools/gperftools/blob/master/docs/heapprofile.adoc
86+
if get_option('cpu-profiling-enabled')
87+
profiler_dep = dependency ('libprofiler')
88+
if(profiler_dep.found())
89+
message('CPU profiling enabled: Building with profiling support.')
90+
add_global_link_arguments ('-lprofiler', language: 'c')
91+
add_project_arguments ('--define=PROFILING', language: 'vala')
92+
dependencies += profiler_dep
93+
else
94+
message('MESON_FAIL: CPU profiling requested but libprofiler (gperftools) not found.')
95+
endif
96+
endif
97+
if get_option('heap-profiling-enabled')
98+
heap_profiler_dep = dependency ('libtcmalloc')
99+
if(heap_profiler_dep.found())
100+
message('Heap profiling enabled: Building with heap profiling support.')
101+
add_global_link_arguments ('-ltcmalloc', language: 'c')
102+
add_project_arguments ('--define=HEAP_PROFILING', language: 'vala')
103+
dependencies += heap_profiler_dep
104+
else
105+
message('MESON_FAIL: Heap profiling requested but libtcmalloc (gperftools) not found.')
106+
endif
107+
endif
108+
109+
76110
subdir('data')
77111
subdir('src')
78112
if get_option('plugins')

0 commit comments

Comments
 (0)