From f5fc88fc2d5f60ca2e2c4fe776ddd8d96c2c5547 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 22:55:47 +0330
Subject: [PATCH 01/41] Update CMakeLists.txt

addin c++11 to test for the ithub actions
---
 CMakeLists.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7cc7496..2f9e661 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -88,6 +88,7 @@ add_library(QCodeEditor STATIC
 target_include_directories(QCodeEditor PUBLIC
     include
 )
+target_compile_features(QCodeEditor PUBLIC cxx_std_11)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
     target_compile_options(QCodeEditor

From 131cf9d854038c32d7e923b4d35baeac76d9ed3a Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:01:16 +0330
Subject: [PATCH 02/41] Create main.yml

---
 .github/workflows/main.yml | 41 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 .github/workflows/main.yml

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..012f6e8
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,41 @@
+name: Linux CI
+
+on:
+  push:
+    branches: [ "main" ]
+  pull_request:
+    branches: [ "main" ]
+
+env:
+  # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
+  BUILD_TYPE: Release
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+    - name: checkout
+      uses: actions/checkout@v3
+      with:
+        submodules: recursive
+    - name: Install Qt
+      uses: jurplel/install-qt-action@v3.3.0
+      with:
+        version: '6.5.0'
+        host: 'linux'
+        target: 'desktop'
+        install-deps: 'true'
+        modules: 'qtnetworkauth'
+        archives: 'icu qtbase qtsvg qtgraphicaleffects qtimageformats'
+        cache: 'false'
+        cache-key-prefix: 'install-qt-action'
+        aqtversion: '==3.1.*'
+        py7zrversion: '==0.20.*'
+        extra: '--external 7z'
+    - name: Configure CMake
+      # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
+      # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
+      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+    - name: Build
+      # Build your program with the given configuration
+      run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

From b0b3379cfcb5825401c305dbf6e9b382abfe7774 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:05:35 +0330
Subject: [PATCH 03/41] Update main.yml

---
 .github/workflows/main.yml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 012f6e8..9a42a7d 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -16,8 +16,6 @@ jobs:
     steps:
     - name: checkout
       uses: actions/checkout@v3
-      with:
-        submodules: recursive
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:

From b7343066bf57955dd8e11e691e1b797d7672b1fc Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:06:43 +0330
Subject: [PATCH 04/41] Update main.yml

update master branch
---
 .github/workflows/main.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 9a42a7d..4b4da1c 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -2,9 +2,9 @@ name: Linux CI
 
 on:
   push:
-    branches: [ "main" ]
+    branches: [ "master" ]
   pull_request:
-    branches: [ "main" ]
+    branches: [ "master" ]
 
 env:
   # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)

From cdbaa5e6046cfc7fd6db0ccf30f316d8d189dd55 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:12:26 +0330
Subject: [PATCH 05/41] Update CMakeLists.txt

add compile option
---
 CMakeLists.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2f9e661..66dc223 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -88,6 +88,8 @@ add_library(QCodeEditor STATIC
 target_include_directories(QCodeEditor PUBLIC
     include
 )
+
+add_compile_options(-std=c++11)
 target_compile_features(QCodeEditor PUBLIC cxx_std_11)
 
 if(CMAKE_COMPILER_IS_GNUCXX)

From 0f2b147e21f67abd5c046dc91271432f5fbdc7c6 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:14:23 +0330
Subject: [PATCH 06/41] Update CMakeLists.txt

c++17
---
 CMakeLists.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 66dc223..324995e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.6)
 project(QCodeEditor)
 
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
 
 option(BUILD_EXAMPLE "Example building required" Off)
 
@@ -89,8 +89,8 @@ target_include_directories(QCodeEditor PUBLIC
     include
 )
 
-add_compile_options(-std=c++11)
-target_compile_features(QCodeEditor PUBLIC cxx_std_11)
+add_compile_options(-std=c++17)
+target_compile_features(QCodeEditor PUBLIC cxx_std_17)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
     target_compile_options(QCodeEditor

From 35d94480bfd064ad9521ab6a5efca8adaadfbddf Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:20:37 +0330
Subject: [PATCH 07/41] Update CMakeLists.txt

---
 CMakeLists.txt | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 324995e..0d70b0e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,8 +1,6 @@
 cmake_minimum_required(VERSION 3.6)
 project(QCodeEditor)
 
-set(CMAKE_CXX_STANDARD 17)
-
 option(BUILD_EXAMPLE "Example building required" Off)
 
 if (${BUILD_EXAMPLE})
@@ -89,8 +87,8 @@ target_include_directories(QCodeEditor PUBLIC
     include
 )
 
-add_compile_options(-std=c++17)
-target_compile_features(QCodeEditor PUBLIC cxx_std_17)
+add_compile_options(-std=gnu++11)
+target_compile_features(QCodeEditor PUBLIC cxx_std_11)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
     target_compile_options(QCodeEditor

From 947f0e4d69dbb4ad9f36647aec81dd60bc168062 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:23:08 +0330
Subject: [PATCH 08/41] Update CMakeLists.txt

---
 CMakeLists.txt | 1 -
 1 file changed, 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0d70b0e..46bbfe0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -87,7 +87,6 @@ target_include_directories(QCodeEditor PUBLIC
     include
 )
 
-add_compile_options(-std=gnu++11)
 target_compile_features(QCodeEditor PUBLIC cxx_std_11)
 
 if(CMAKE_COMPILER_IS_GNUCXX)

From 37102156d67980add33a0763a2cbde353bdb00e6 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:31:31 +0330
Subject: [PATCH 09/41] Update CMakeLists.txt

---
 CMakeLists.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 46bbfe0..ab2f120 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -83,12 +83,12 @@ add_library(QCodeEditor STATIC
     ${INCLUDE_FILES}
 )
 
+target_compile_features(QCodeEditor PUBLIC cxx_std_11)
+
 target_include_directories(QCodeEditor PUBLIC
     include
 )
 
-target_compile_features(QCodeEditor PUBLIC cxx_std_11)
-
 if(CMAKE_COMPILER_IS_GNUCXX)
     target_compile_options(QCodeEditor
 		PRIVATE

From b2e49cf33d79dd8bd0b72acddd38198f070b3d61 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:36:33 +0330
Subject: [PATCH 10/41] Update CMakeLists.txt

---
 CMakeLists.txt | 2 --
 1 file changed, 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ab2f120..77591b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -83,8 +83,6 @@ add_library(QCodeEditor STATIC
     ${INCLUDE_FILES}
 )
 
-target_compile_features(QCodeEditor PUBLIC cxx_std_11)
-
 target_include_directories(QCodeEditor PUBLIC
     include
 )

From c6147e121514e5855ac34698da95f6237256611b Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Tue, 22 Aug 2023 23:49:36 +0330
Subject: [PATCH 11/41] Update main.yml

cxx17
---
 .github/workflows/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 4b4da1c..f7e92b7 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -33,7 +33,7 @@ jobs:
     - name: Configure CMake
       # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
       # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
-      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+      run: cmake -DCMAKE_CXX_FLAGS="-std=c++17" -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
     - name: Build
       # Build your program with the given configuration
       run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

From b21c4cde843aa0fe10bd777d1447553f642692e9 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 01:05:55 +0330
Subject: [PATCH 12/41] Update CMakeLists.txt

---
 CMakeLists.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 77591b2..59a02b1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -83,6 +83,8 @@ add_library(QCodeEditor STATIC
     ${INCLUDE_FILES}
 )
 
+target_compile_features(QCodeEditor PRIVATE cxx_std_17)
+
 target_include_directories(QCodeEditor PUBLIC
     include
 )

From 824e8238af4fe4d114e19f49c0730fa4718237de Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 01:23:58 +0330
Subject: [PATCH 13/41] Update CMakeLists.txt

---
 CMakeLists.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 59a02b1..bfb51ef 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,10 @@ project(QCodeEditor)
 
 option(BUILD_EXAMPLE "Example building required" Off)
 
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+
 if (${BUILD_EXAMPLE})
     message(STATUS "QCodeEditor example will be built.")
     add_subdirectory(example)
@@ -83,8 +87,6 @@ add_library(QCodeEditor STATIC
     ${INCLUDE_FILES}
 )
 
-target_compile_features(QCodeEditor PRIVATE cxx_std_17)
-
 target_include_directories(QCodeEditor PUBLIC
     include
 )

From 4ceed1b2fc74d25a993d6eea49876bbfbedbcebf Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 01:32:33 +0330
Subject: [PATCH 14/41] Update main.yml

---
 .github/workflows/main.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index f7e92b7..abf21a0 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -19,7 +19,7 @@ jobs:
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:
-        version: '6.5.0'
+        version: '6.2.0'
         host: 'linux'
         target: 'desktop'
         install-deps: 'true'
@@ -33,7 +33,7 @@ jobs:
     - name: Configure CMake
       # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
       # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
-      run: cmake -DCMAKE_CXX_FLAGS="-std=c++17" -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
     - name: Build
       # Build your program with the given configuration
       run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

From bb934fa3d71121eb35064568c0a3df9fb9f98538 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 01:37:10 +0330
Subject: [PATCH 15/41] Update CMakeLists.txt

---
 CMakeLists.txt | 30 +++++++++++++-----------------
 1 file changed, 13 insertions(+), 17 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bfb51ef..3f5318f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,10 +3,6 @@ project(QCodeEditor)
 
 option(BUILD_EXAMPLE "Example building required" Off)
 
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_EXTENSIONS OFF)
-
 if (${BUILD_EXAMPLE})
     message(STATUS "QCodeEditor example will be built.")
     add_subdirectory(example)
@@ -87,23 +83,23 @@ add_library(QCodeEditor STATIC
     ${INCLUDE_FILES}
 )
 
+target_compile_features(QCodeEditor PUBLIC cxx_std_11)
+
 target_include_directories(QCodeEditor PUBLIC
     include
 )
 
-if(CMAKE_COMPILER_IS_GNUCXX)
-    target_compile_options(QCodeEditor
-		PRIVATE
-		-ansi
-		-pedantic
-		-Wall
-		-Wextra
-		-Weffc++
-		-Woverloaded-virtual
-		-Winit-self
-		-Wunreachable-code
-	)
-endif(CMAKE_COMPILER_IS_GNUCXX)
+target_compile_options(QCodeEditor
+	PRIVATE
+	-ansi
+	-pedantic
+	-Wall
+	-Wextra
+	-Weffc++
+	-Woverloaded-virtual
+	-Winit-self
+	-Wunreachable-code
+)
 
 target_link_libraries(QCodeEditor
     Qt::Core

From dd2a85957f0f0355fc7b5d8f16bf5640de470647 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 01:44:07 +0330
Subject: [PATCH 16/41] Update CMakeLists.txt

---
 CMakeLists.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3f5318f..d79861b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,8 @@
 cmake_minimum_required(VERSION 3.6)
 project(QCodeEditor)
 
+add_compile_options(-std=c++11)
+
 option(BUILD_EXAMPLE "Example building required" Off)
 
 if (${BUILD_EXAMPLE})
@@ -83,8 +85,6 @@ add_library(QCodeEditor STATIC
     ${INCLUDE_FILES}
 )
 
-target_compile_features(QCodeEditor PUBLIC cxx_std_11)
-
 target_include_directories(QCodeEditor PUBLIC
     include
 )

From 179cdf181adac69a01101952b2ccb6ee89aa25fa Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 01:51:05 +0330
Subject: [PATCH 17/41] Update main.yml

---
 .github/workflows/main.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index abf21a0..65c8bba 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -19,9 +19,10 @@ jobs:
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:
-        version: '6.2.0'
+        version: '6.5.0'
         host: 'linux'
         target: 'desktop'
+        arch: 'gcc_64'
         install-deps: 'true'
         modules: 'qtnetworkauth'
         archives: 'icu qtbase qtsvg qtgraphicaleffects qtimageformats'

From 859d78670aa3f7b5050ade242b8ae8c35c1badb1 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 02:04:52 +0330
Subject: [PATCH 18/41] Update CMakeLists.txt

---
 CMakeLists.txt | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d79861b..2eabbb1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,10 @@
 cmake_minimum_required(VERSION 3.6)
 project(QCodeEditor)
 
-add_compile_options(-std=c++11)
+# Set C++11 as the required standard
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
 
 option(BUILD_EXAMPLE "Example building required" Off)
 

From 181491e6b9c3a09afef004c36aa083f88c02e9ce Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 10:33:13 +0330
Subject: [PATCH 19/41] Update main.yml

built easily locally
---
 .github/workflows/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 65c8bba..eb3786a 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -37,4 +37,4 @@ jobs:
       run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
     - name: Build
       # Build your program with the given configuration
-      run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
+      run: cmake --build ${{github.workspace}}/build

From 92fc98716381783dc089ac43943ab3cd4f47bc83 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 10:41:45 +0330
Subject: [PATCH 20/41] Update main.yml

ubuntu version to 20.04
---
 .github/workflows/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index eb3786a..7f66b84 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -12,7 +12,7 @@ env:
 
 jobs:
   build:
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     steps:
     - name: checkout
       uses: actions/checkout@v3

From 2754602cb5e12e2774749d4b2532059ff72d86b1 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 10:46:04 +0330
Subject: [PATCH 21/41] Update main.yml

addin build essentials
---
 .github/workflows/main.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 7f66b84..e577602 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -16,6 +16,8 @@ jobs:
     steps:
     - name: checkout
       uses: actions/checkout@v3
+    - name: essentials
+      run: sudo apt-get install build-essential
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:

From 658b07f5e2b68e4b610916fd44b6db541273f3ac Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 10:52:59 +0330
Subject: [PATCH 22/41] Update main.yml

building with Ninja
---
 .github/workflows/main.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index e577602..425def4 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -16,8 +16,8 @@ jobs:
     steps:
     - name: checkout
       uses: actions/checkout@v3
-    - name: essentials
-      run: sudo apt-get install build-essential
+    - name: Ninja
+      uses: seanmiddleditch/gha-setup-ninja@master
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:
@@ -36,7 +36,7 @@ jobs:
     - name: Configure CMake
       # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
       # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
-      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+      run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
     - name: Build
       # Build your program with the given configuration
       run: cmake --build ${{github.workspace}}/build

From 3e87fff91c906dbe31212087c0dfbaef2d5b737f Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 10:56:33 +0330
Subject: [PATCH 23/41] Update main.yml

c++ standard
---
 .github/workflows/main.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 425def4..ce174e4 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -36,7 +36,7 @@ jobs:
     - name: Configure CMake
       # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
       # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
-      run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
-    - name: Build
+      run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+    - name: Build 
       # Build your program with the given configuration
       run: cmake --build ${{github.workspace}}/build

From 0003a26f217fae19d993abe84916d032948fc62f Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 11:39:31 +0330
Subject: [PATCH 24/41] Update main.yml

add cpp compiler
---
 .github/workflows/main.yml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index ce174e4..d4e5331 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -16,6 +16,11 @@ jobs:
     steps:
     - name: checkout
       uses: actions/checkout@v3
+    - name: Install compiler
+      id: install_cc
+      uses: rlalik/setup-cpp-compiler@master
+      with:
+        compiler: latest
     - name: Ninja
       uses: seanmiddleditch/gha-setup-ninja@master
     - name: Install Qt

From 0f6b6824eb6219fcbb9cf758d74e7c2a95ea420b Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 16:15:51 +0330
Subject: [PATCH 25/41] Update main.yml

checking gcc
---
 .github/workflows/main.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index d4e5331..d11b48e 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -23,6 +23,8 @@ jobs:
         compiler: latest
     - name: Ninja
       uses: seanmiddleditch/gha-setup-ninja@master
+    - name: check gcc
+      run: gcc --version
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:

From c93a05c4a20cb1537d29dc7ec6b84278799df253 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 16:20:05 +0330
Subject: [PATCH 26/41] Update main.yml

more verbose
---
 .github/workflows/main.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index d11b48e..7b39d25 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -25,6 +25,9 @@ jobs:
       uses: seanmiddleditch/gha-setup-ninja@master
     - name: check gcc
       run: gcc --version
+    - run: g++ --version
+    - run: echo {{$CC}}
+    - run: echo {{$CXX}}
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:

From eea765e8e616974acc5c580adfbe6b849b98fc7a Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 16:30:22 +0330
Subject: [PATCH 27/41] Update CMakeLists.txt

---
 CMakeLists.txt | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2eabbb1..1b530de 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,8 +3,6 @@ project(QCodeEditor)
 
 # Set C++11 as the required standard
 set(CMAKE_CXX_STANDARD 11)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-
 
 option(BUILD_EXAMPLE "Example building required" Off)
 
@@ -13,10 +11,6 @@ if (${BUILD_EXAMPLE})
     add_subdirectory(example)
 endif()
 
-set(RESOURCES_FILE
-    resources/qcodeeditor_resources.qrc
-)
-
 set(INCLUDE_FILES
     include/QHighlightRule
     include/QHighlightBlockRule
@@ -78,12 +72,14 @@ set(CMAKE_AUTOMOC On)
 set(CMAKE_AUTORCC ON)
 
 # Find includes in corresponding build directories
-find_package(Qt6Core    CONFIG REQUIRED)
-find_package(Qt6Widgets CONFIG REQUIRED)
-find_package(Qt6Gui     CONFIG REQUIRED)
+find_package(Qt6 COMPONENTS Core Widgets Gui)
+
+QT_ADD_RESOURCES(RESOURCE_FILES
+    resources/qcodeeditor_resources.qrc
+)
 
 add_library(QCodeEditor STATIC
-    ${RESOURCES_FILE}
+    ${RESOURCE_FILES}
     ${SOURCE_FILES}
     ${INCLUDE_FILES}
 )
@@ -105,7 +101,7 @@ target_compile_options(QCodeEditor
 )
 
 target_link_libraries(QCodeEditor
-    Qt::Core
-    Qt::Widgets
-    Qt::Gui
+    Qt6::Core
+    Qt6::Widgets
+    Qt6::Gui
 )

From 0a734abe454b863e16dba46719a5954cff367317 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 16:36:25 +0330
Subject: [PATCH 28/41] Update main.yml

---
 .github/workflows/main.yml | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 7b39d25..401c961 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -26,15 +26,13 @@ jobs:
     - name: check gcc
       run: gcc --version
     - run: g++ --version
-    - run: echo {{$CC}}
-    - run: echo {{$CXX}}
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:
         version: '6.5.0'
         host: 'linux'
         target: 'desktop'
-        arch: 'gcc_64'
+        arch: 'gcc'
         install-deps: 'true'
         modules: 'qtnetworkauth'
         archives: 'icu qtbase qtsvg qtgraphicaleffects qtimageformats'

From c09669b70298c788babe528d7d05ccd918737850 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 16:43:07 +0330
Subject: [PATCH 29/41] Update main.yml

removing Qt for test
---
 .github/workflows/main.yml | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 401c961..c8ba6da 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -26,21 +26,6 @@ jobs:
     - name: check gcc
       run: gcc --version
     - run: g++ --version
-    - name: Install Qt
-      uses: jurplel/install-qt-action@v3.3.0
-      with:
-        version: '6.5.0'
-        host: 'linux'
-        target: 'desktop'
-        arch: 'gcc'
-        install-deps: 'true'
-        modules: 'qtnetworkauth'
-        archives: 'icu qtbase qtsvg qtgraphicaleffects qtimageformats'
-        cache: 'false'
-        cache-key-prefix: 'install-qt-action'
-        aqtversion: '==3.1.*'
-        py7zrversion: '==0.20.*'
-        extra: '--external 7z'
     - name: Configure CMake
       # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
       # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type

From cd9a92185a86f745c47c55bd570fcf31a35fc045 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 16:44:32 +0330
Subject: [PATCH 30/41] Update main.yml

getting back Qt
---
 .github/workflows/main.yml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index c8ba6da..2ddcd82 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -26,6 +26,21 @@ jobs:
     - name: check gcc
       run: gcc --version
     - run: g++ --version
+    - name: Install Qt
+      uses: jurplel/install-qt-action@v3.3.0
+      with:
+        version: '6.5.0'
+        host: 'linux'
+        target: 'desktop'
+        arch: 'gcc_64'
+        install-deps: 'true'
+        modules: 'qtnetworkauth'
+        archives: 'icu qtbase qtsvg qtgraphicaleffects qtimageformats'
+        cache: 'false'
+        cache-key-prefix: 'install-qt-action'
+        aqtversion: '==3.1.*'
+        py7zrversion: '==0.20.*'
+        extra: '--external 7z'
     - name: Configure CMake
       # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
       # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type

From 5f0c87fbc7a7cf3d247881488e330a666e6bc8ed Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 16:57:31 +0330
Subject: [PATCH 31/41] Update main.yml

---
 .github/workflows/main.yml | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 2ddcd82..3692ced 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -23,9 +23,12 @@ jobs:
         compiler: latest
     - name: Ninja
       uses: seanmiddleditch/gha-setup-ninja@master
-    - name: check gcc
-      run: gcc --version
-    - run: g++ --version
+    - run: update-alternatives --list c++
+    - run: ls /usr/bin/*cc*
+    - run: ls /usr/bin/*c++*
+    - run: ls /usr/bin/*g++*
+    - run: which cc
+    - run: which c++
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:

From ed075f28d789aebe2a583be26186f773111ff983 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 17:03:03 +0330
Subject: [PATCH 32/41] Update CMakeLists.txt

---
 CMakeLists.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1b530de..1d910d8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,8 @@ project(QCodeEditor)
 # Set C++11 as the required standard
 set(CMAKE_CXX_STANDARD 11)
 
+message(CMAKE_CXX_COMPILER, ${CMAKE_CXX_COMPILER})
+
 option(BUILD_EXAMPLE "Example building required" Off)
 
 if (${BUILD_EXAMPLE})

From a5d074a5733c82f3e5c95d63d282eaf40137c8a3 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 17:10:39 +0330
Subject: [PATCH 33/41] Update CMakeLists.txt

CMAKE_CXX_FLAGS
---
 CMakeLists.txt | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1d910d8..d9c1874 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,9 +2,12 @@ cmake_minimum_required(VERSION 3.6)
 project(QCodeEditor)
 
 # Set C++11 as the required standard
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
 
-message(CMAKE_CXX_COMPILER, ${CMAKE_CXX_COMPILER})
+message(CMAKE_CXX_COMPILER, ${CMAKE_CXX_COMPILER} )
+message("C++ Standard Version: ${CMAKE_CXX_STANDARD}")
+message("C++ Standard CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
 
 option(BUILD_EXAMPLE "Example building required" Off)
 

From 77af39947e6e167b798f90b259465e7c06403dc1 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 17:15:57 +0330
Subject: [PATCH 34/41] Update main.yml

qt 6.2.4
---
 .github/workflows/main.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 3692ced..63f60d9 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -32,7 +32,7 @@ jobs:
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:
-        version: '6.5.0'
+        version: '6.2.4'
         host: 'linux'
         target: 'desktop'
         arch: 'gcc_64'

From f1c62bd0fc8816cfb8e782944802c143ca07ff05 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 17:25:42 +0330
Subject: [PATCH 35/41] Update main.yml

---
 .github/workflows/main.yml | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 63f60d9..4ea1d2f 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -36,14 +36,10 @@ jobs:
         host: 'linux'
         target: 'desktop'
         arch: 'gcc_64'
-        install-deps: 'true'
         modules: 'qtnetworkauth'
-        archives: 'icu qtbase qtsvg qtgraphicaleffects qtimageformats'
-        cache: 'false'
-        cache-key-prefix: 'install-qt-action'
+        archives: 'icu qtbase qtsvg'
         aqtversion: '==3.1.*'
-        py7zrversion: '==0.20.*'
-        extra: '--external 7z'
+        tools: 'tools_cmake'
     - name: Configure CMake
       # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
       # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type

From 1c7da9cd9ff253b2833b79a3fb82cb405337f463 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 18:03:19 +0330
Subject: [PATCH 36/41] Update CMakeLists.txt

---
 CMakeLists.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d9c1874..b9f958f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.6)
 project(QCodeEditor)
 
 # Set C++11 as the required standard
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 message(CMAKE_CXX_COMPILER, ${CMAKE_CXX_COMPILER} )
 message("C++ Standard Version: ${CMAKE_CXX_STANDARD}")

From 4c501609fe0829254586886775224605de8ccbc7 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 20:20:21 +0330
Subject: [PATCH 37/41] Update CMakeLists.txt

---
 CMakeLists.txt | 52 +++++++++++++++++++-------------------------------
 1 file changed, 20 insertions(+), 32 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b9f958f..dde6cac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,14 +1,16 @@
-cmake_minimum_required(VERSION 3.6)
-project(QCodeEditor)
+cmake_minimum_required(VERSION 3.15)
+project(QCodeEditor CXX)
 
 # Set C++11 as the required standard
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 message(CMAKE_CXX_COMPILER, ${CMAKE_CXX_COMPILER} )
 message("C++ Standard Version: ${CMAKE_CXX_STANDARD}")
 message("C++ Standard CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
 
+add_compile_options(-Wall -Wextra -pedantic -Werror)
+
 option(BUILD_EXAMPLE "Example building required" Off)
 
 if (${BUILD_EXAMPLE})
@@ -16,6 +18,19 @@ if (${BUILD_EXAMPLE})
     add_subdirectory(example)
 endif()
 
+# Create code for QObjects
+set(CMAKE_AUTOMOC On)
+
+# Create code from resource files
+set(CMAKE_AUTORCC ON)
+
+# Find includes in corresponding build directories
+find_package(Qt6 COMPONENTS Core Widgets Gui)
+
+QT_ADD_RESOURCES(RESOURCE_FILES
+    resources/qcodeeditor_resources.qrc
+)
+
 set(INCLUDE_FILES
     include/QHighlightRule
     include/QHighlightBlockRule
@@ -70,39 +85,12 @@ set(SOURCE_FILES
     src/internal/QFramedTextAttribute.cpp
 )
 
-# Create code for QObjects
-set(CMAKE_AUTOMOC On)
-
-# Create code from resource files
-set(CMAKE_AUTORCC ON)
-
-# Find includes in corresponding build directories
-find_package(Qt6 COMPONENTS Core Widgets Gui)
-
-QT_ADD_RESOURCES(RESOURCE_FILES
-    resources/qcodeeditor_resources.qrc
-)
+include_directories(include)
 
 add_library(QCodeEditor STATIC
     ${RESOURCE_FILES}
-    ${SOURCE_FILES}
     ${INCLUDE_FILES}
-)
-
-target_include_directories(QCodeEditor PUBLIC
-    include
-)
-
-target_compile_options(QCodeEditor
-	PRIVATE
-	-ansi
-	-pedantic
-	-Wall
-	-Wextra
-	-Weffc++
-	-Woverloaded-virtual
-	-Winit-self
-	-Wunreachable-code
+    ${SOURCE_FILES}
 )
 
 target_link_libraries(QCodeEditor

From aef999cd8da073103d32d87a038e4a6197dc74b7 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 20:22:28 +0330
Subject: [PATCH 38/41] Update CMakeLists.txt

updating options
---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index dde6cac..fbd582d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,7 +9,7 @@ message(CMAKE_CXX_COMPILER, ${CMAKE_CXX_COMPILER} )
 message("C++ Standard Version: ${CMAKE_CXX_STANDARD}")
 message("C++ Standard CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
 
-add_compile_options(-Wall -Wextra -pedantic -Werror)
+add_compile_options(-Wall -Wextra -ansi -pedantic -Werror -Weffc++ -Woverloaded-virtual -Winit-self -Wunreachable-code)
 
 option(BUILD_EXAMPLE "Example building required" Off)
 

From c26984e1c1d5fd364ee5d5f9566c176cca6ca65e Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 22:17:15 +0330
Subject: [PATCH 39/41] Update CMakeLists.txt

restoring cmakelist and just removing the ansi
---
 CMakeLists.txt | 64 ++++++++++++++++++++++++++++----------------------
 1 file changed, 36 insertions(+), 28 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index fbd582d..9711320 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,15 +1,7 @@
-cmake_minimum_required(VERSION 3.15)
-project(QCodeEditor CXX)
+cmake_minimum_required(VERSION 3.6)
+project(QCodeEditor)
 
-# Set C++11 as the required standard
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-
-message(CMAKE_CXX_COMPILER, ${CMAKE_CXX_COMPILER} )
-message("C++ Standard Version: ${CMAKE_CXX_STANDARD}")
-message("C++ Standard CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
-
-add_compile_options(-Wall -Wextra -ansi -pedantic -Werror -Weffc++ -Woverloaded-virtual -Winit-self -Wunreachable-code)
+set(CMAKE_CXX_STANDARD 11)
 
 option(BUILD_EXAMPLE "Example building required" Off)
 
@@ -18,16 +10,7 @@ if (${BUILD_EXAMPLE})
     add_subdirectory(example)
 endif()
 
-# Create code for QObjects
-set(CMAKE_AUTOMOC On)
-
-# Create code from resource files
-set(CMAKE_AUTORCC ON)
-
-# Find includes in corresponding build directories
-find_package(Qt6 COMPONENTS Core Widgets Gui)
-
-QT_ADD_RESOURCES(RESOURCE_FILES
+set(RESOURCES_FILE
     resources/qcodeeditor_resources.qrc
 )
 
@@ -66,7 +49,6 @@ set(INCLUDE_FILES
     include/internal/QPythonHighlighter.hpp
     include/internal/QFramedTextAttribute.hpp
 )
-
 set(SOURCE_FILES
     src/internal/QCodeEditor.cpp
     src/internal/QLineNumberArea.cpp
@@ -85,16 +67,42 @@ set(SOURCE_FILES
     src/internal/QFramedTextAttribute.cpp
 )
 
-include_directories(include)
+# Create code for QObjects
+set(CMAKE_AUTOMOC On)
+
+# Create code from resource files
+set(CMAKE_AUTORCC ON)
+
+# Find includes in corresponding build directories
+find_package(Qt6Core    CONFIG REQUIRED)
+find_package(Qt6Widgets CONFIG REQUIRED)
+find_package(Qt6Gui     CONFIG REQUIRED)
 
 add_library(QCodeEditor STATIC
-    ${RESOURCE_FILES}
-    ${INCLUDE_FILES}
+    ${RESOURCES_FILE}
     ${SOURCE_FILES}
+    ${INCLUDE_FILES}
 )
 
+target_include_directories(QCodeEditor PUBLIC
+    include
+)
+
+if(CMAKE_COMPILER_IS_GNUCXX)
+    target_compile_options(QCodeEditor
+		PRIVATE
+		-pedantic
+		-Wall
+		-Wextra
+		-Weffc++
+		-Woverloaded-virtual
+		-Winit-self
+		-Wunreachable-code
+	)
+endif(CMAKE_COMPILER_IS_GNUCXX)
+
 target_link_libraries(QCodeEditor
-    Qt6::Core
-    Qt6::Widgets
-    Qt6::Gui
+    Qt::Core
+    Qt::Widgets
+    Qt::Gui
 )

From 304c91d51b0e3442a7a6829f624abf5f1d00bd15 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 22:23:37 +0330
Subject: [PATCH 40/41] Update CMakeLists.txt

---
 CMakeLists.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9711320..63918e8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,6 +49,7 @@ set(INCLUDE_FILES
     include/internal/QPythonHighlighter.hpp
     include/internal/QFramedTextAttribute.hpp
 )
+
 set(SOURCE_FILES
     src/internal/QCodeEditor.cpp
     src/internal/QLineNumberArea.cpp

From f257da1bb7ce45bb7e1c374797afd6e1a829c981 Mon Sep 17 00:00:00 2001
From: benyamin saedi <benyamin.saedi@gmail.com>
Date: Wed, 23 Aug 2023 22:26:19 +0330
Subject: [PATCH 41/41] Update main.yml

simplifying CI
---
 .github/workflows/main.yml | 20 +++-----------------
 1 file changed, 3 insertions(+), 17 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 4ea1d2f..1f8042c 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -12,38 +12,24 @@ env:
 
 jobs:
   build:
-    runs-on: ubuntu-20.04
+    runs-on: ubuntu-latest
     steps:
     - name: checkout
       uses: actions/checkout@v3
-    - name: Install compiler
-      id: install_cc
-      uses: rlalik/setup-cpp-compiler@master
-      with:
-        compiler: latest
-    - name: Ninja
-      uses: seanmiddleditch/gha-setup-ninja@master
-    - run: update-alternatives --list c++
-    - run: ls /usr/bin/*cc*
-    - run: ls /usr/bin/*c++*
-    - run: ls /usr/bin/*g++*
-    - run: which cc
-    - run: which c++
     - name: Install Qt
       uses: jurplel/install-qt-action@v3.3.0
       with:
-        version: '6.2.4'
+        version: '6.5.0'
         host: 'linux'
         target: 'desktop'
         arch: 'gcc_64'
         modules: 'qtnetworkauth'
         archives: 'icu qtbase qtsvg'
         aqtversion: '==3.1.*'
-        tools: 'tools_cmake'
     - name: Configure CMake
       # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
       # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
-      run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
+      run: cmake -B ${{github.workspace}}/build -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
     - name: Build 
       # Build your program with the given configuration
       run: cmake --build ${{github.workspace}}/build
