From c98de51c6aada97dd1ae7447a093ecb492d3c1b9 Mon Sep 17 00:00:00 2001 From: gnikit Date: Fri, 3 Jun 2022 14:35:13 +0100 Subject: [PATCH 1/5] Makes note, warnings onliners --- README.md | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index aace7306..995a6524 100644 --- a/README.md +++ b/README.md @@ -76,9 +76,8 @@ Using incorrect type and rank as function argument ![alt](assets/lint-demo2.gif) -| 📝️ Note | -| ------------------------------------------ | -| Save your file to generate linting results | +| 📝️ Note | Save your file to generate linting results | +| -------- | ------------------------------------------ | Linting results can be improved by providing additional options to the compiler. @@ -86,9 +85,8 @@ Linting results can be improved by providing additional options to the compiler. You can control the include paths to be used by the linter with the `fortran.linter.includePaths` option. -| ❗️ Important | -| ------------------------------------------------------------------------------------------------------------------ | -| For the best linting results `linter.includePaths` should match the included paths for your project's compilation. | +| ❗️ Important | For the best linting results `linter.includePaths` should match the included paths for your project's compilation. | +| ------------- | ------------------------------------------------------------------------------------------------------------------ | ```json { @@ -96,9 +94,8 @@ You can control the include paths to be used by the linter with the `fortran.lin } ``` -| ❗️ Important | -| -------------------------------------------------------------------------------- | -| If a glob pattern is used only directories matching the pattern will be included | +| ❗️ Important | If a glob pattern is used only directories matching the pattern will be included | +| ------------- | -------------------------------------------------------------------------------- | ### Additional linting options @@ -234,9 +231,8 @@ If the formatter is not present in the `PATH` its location can be input with } ``` -| :memo: Note | -| ---------------------------------------------------------------------- | -| `findent` can also be used to generate dependency files for a project. | +| 📝️ Note | `findent` can also be used to generate dependency files for a project. | +| -------- | ---------------------------------------------------------------------- | ## Snippets From 3771c22e3e7d92c609eab338be98da4b26604407 Mon Sep 17 00:00:00 2001 From: gnikit Date: Fri, 3 Jun 2022 17:27:06 +0100 Subject: [PATCH 2/5] Added TOC --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 995a6524..3c6d7ae6 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,19 @@ +
+ Key Features • + Get Started • + LSP • + Lint • + Debug • + Format • + Snippets • + Donate +
+
+
+

From d417d3659827c60f999f01b02fb780d5fc5d404b Mon Sep 17 00:00:00 2001 From: gnikit Date: Fri, 3 Jun 2022 17:35:19 +0100 Subject: [PATCH 3/5] Moved assets to individual directories --- README.md | 32 ++++++++++----------- assets/{ => gif}/findent-demo.gif | Bin assets/{ => gif}/fprettify-demo.gif | Bin assets/{ => gif}/gdb_ani.gif | Bin assets/{ => gif}/intro-demo.gif | Bin assets/{ => gif}/lint-demo.gif | Bin assets/{ => gif}/lint-demo2.gif | Bin assets/{ => png}/icon.png | Bin assets/{ => svg}/fortran-logo.svg | 0 assets/{ => svg}/modern-fortran-logo.svg | 0 assets/{ => svg}/readme.discourse.svg | 0 assets/{ => svg}/readme.fortls.svg | 0 assets/{ => svg}/readme.fpm.svg | 0 assets/{ => svg}/readme.github.sponsor.svg | 0 assets/{ => svg}/readme.github.svg | 0 assets/{ => svg}/readme.lfortran.svg | 0 assets/{ => svg}/readme.stdlib.svg | 0 assets/{ => svg}/readme.tutorial.svg | 0 assets/{ => svg}/readme.workspace.svg | 0 package.json | 2 +- 20 files changed, 17 insertions(+), 17 deletions(-) rename assets/{ => gif}/findent-demo.gif (100%) rename assets/{ => gif}/fprettify-demo.gif (100%) rename assets/{ => gif}/gdb_ani.gif (100%) rename assets/{ => gif}/intro-demo.gif (100%) rename assets/{ => gif}/lint-demo.gif (100%) rename assets/{ => gif}/lint-demo2.gif (100%) rename assets/{ => png}/icon.png (100%) rename assets/{ => svg}/fortran-logo.svg (100%) rename assets/{ => svg}/modern-fortran-logo.svg (100%) rename assets/{ => svg}/readme.discourse.svg (100%) rename assets/{ => svg}/readme.fortls.svg (100%) rename assets/{ => svg}/readme.fpm.svg (100%) rename assets/{ => svg}/readme.github.sponsor.svg (100%) rename assets/{ => svg}/readme.github.svg (100%) rename assets/{ => svg}/readme.lfortran.svg (100%) rename assets/{ => svg}/readme.stdlib.svg (100%) rename assets/{ => svg}/readme.tutorial.svg (100%) rename assets/{ => svg}/readme.workspace.svg (100%) diff --git a/README.md b/README.md index 3c6d7ae6..08a99c3c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- +

@@ -26,7 +26,7 @@

- +

## Key Features @@ -44,17 +44,17 @@ ## Get Started & Seek Support

- - - + + +

### Useful Tools

- - - + + +

## Language Server integration @@ -83,11 +83,11 @@ without the user having to compile. Using an invalid if expression -![alt](assets/lint-demo.gif) +![alt](assets/gif/lint-demo.gif) Using incorrect type and rank as function argument -![alt](assets/lint-demo2.gif) +![alt](assets/gif/lint-demo2.gif) | 📝️ Note | Save your file to generate linting results | | -------- | ------------------------------------------ | @@ -150,7 +150,7 @@ you can point the extension to another linter with the `fortran.linter.compilerP ## Debugging -![alt](assets/gdb_ani.gif) +![alt](assets/gif/gdb_ani.gif) The extension uses the debugger from Microsoft's [C/C++ extension](https://github.com/Microsoft/vscode-cpptools) @@ -213,9 +213,9 @@ installed with `pip` automatically through the extension.
Demo: formatters in action -| findent | fprettify | -| :-------------------------------: | :---------------------------------: | -| ![alt](./assets/findent-demo.gif) | ![alt](./assets/fprettify-demo.gif) | +| findent | fprettify | +| :-----------------------------------: | :-------------------------------------: | +| ![alt](./assets/gif/findent-demo.gif) | ![alt](./assets/gif/fprettify-demo.gif) |
@@ -302,8 +302,8 @@ For debugging you need to have one of the following debuggers installed: You can support further development of the extension by fiscal donations: - to our [**LFortan**](https://numfocus.org/donate-to-lfortran) project on NumFOCUS + to our [**LFortan**](https://numfocus.org/donate-to-lfortran) project on NumFOCUS Or - directly sponsoring developers through [**GitHub Sponsors**](https://github.com/fortran-lang/vscode-fortran-support) + directly sponsoring developers through [**GitHub Sponsors**](https://github.com/fortran-lang/vscode-fortran-support) diff --git a/assets/findent-demo.gif b/assets/gif/findent-demo.gif similarity index 100% rename from assets/findent-demo.gif rename to assets/gif/findent-demo.gif diff --git a/assets/fprettify-demo.gif b/assets/gif/fprettify-demo.gif similarity index 100% rename from assets/fprettify-demo.gif rename to assets/gif/fprettify-demo.gif diff --git a/assets/gdb_ani.gif b/assets/gif/gdb_ani.gif similarity index 100% rename from assets/gdb_ani.gif rename to assets/gif/gdb_ani.gif diff --git a/assets/intro-demo.gif b/assets/gif/intro-demo.gif similarity index 100% rename from assets/intro-demo.gif rename to assets/gif/intro-demo.gif diff --git a/assets/lint-demo.gif b/assets/gif/lint-demo.gif similarity index 100% rename from assets/lint-demo.gif rename to assets/gif/lint-demo.gif diff --git a/assets/lint-demo2.gif b/assets/gif/lint-demo2.gif similarity index 100% rename from assets/lint-demo2.gif rename to assets/gif/lint-demo2.gif diff --git a/assets/icon.png b/assets/png/icon.png similarity index 100% rename from assets/icon.png rename to assets/png/icon.png diff --git a/assets/fortran-logo.svg b/assets/svg/fortran-logo.svg similarity index 100% rename from assets/fortran-logo.svg rename to assets/svg/fortran-logo.svg diff --git a/assets/modern-fortran-logo.svg b/assets/svg/modern-fortran-logo.svg similarity index 100% rename from assets/modern-fortran-logo.svg rename to assets/svg/modern-fortran-logo.svg diff --git a/assets/readme.discourse.svg b/assets/svg/readme.discourse.svg similarity index 100% rename from assets/readme.discourse.svg rename to assets/svg/readme.discourse.svg diff --git a/assets/readme.fortls.svg b/assets/svg/readme.fortls.svg similarity index 100% rename from assets/readme.fortls.svg rename to assets/svg/readme.fortls.svg diff --git a/assets/readme.fpm.svg b/assets/svg/readme.fpm.svg similarity index 100% rename from assets/readme.fpm.svg rename to assets/svg/readme.fpm.svg diff --git a/assets/readme.github.sponsor.svg b/assets/svg/readme.github.sponsor.svg similarity index 100% rename from assets/readme.github.sponsor.svg rename to assets/svg/readme.github.sponsor.svg diff --git a/assets/readme.github.svg b/assets/svg/readme.github.svg similarity index 100% rename from assets/readme.github.svg rename to assets/svg/readme.github.svg diff --git a/assets/readme.lfortran.svg b/assets/svg/readme.lfortran.svg similarity index 100% rename from assets/readme.lfortran.svg rename to assets/svg/readme.lfortran.svg diff --git a/assets/readme.stdlib.svg b/assets/svg/readme.stdlib.svg similarity index 100% rename from assets/readme.stdlib.svg rename to assets/svg/readme.stdlib.svg diff --git a/assets/readme.tutorial.svg b/assets/svg/readme.tutorial.svg similarity index 100% rename from assets/readme.tutorial.svg rename to assets/svg/readme.tutorial.svg diff --git a/assets/readme.workspace.svg b/assets/svg/readme.workspace.svg similarity index 100% rename from assets/readme.workspace.svg rename to assets/svg/readme.workspace.svg diff --git a/package.json b/package.json index a190ce7d..31b2197d 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "engines": { "vscode": "^1.63.0" }, - "icon": "assets/icon.png", + "icon": "assets/png/icon.png", "homepage": "https://github.com/fortran-lang/vscode-fortran-support#readme", "qna": "https://github.com/fortran-lang/vscode-fortran-support/issues", "repository": { From c1a203b5b41970f1028b960dd817af30954287b5 Mon Sep 17 00:00:00 2001 From: gnikit Date: Fri, 3 Jun 2022 19:15:08 +0100 Subject: [PATCH 4/5] Add tool for converting SVGs to PNGs The SVGs need to be properly sized, i.e. have the right dimensions for when they are to be included in the Markdown document. We are also changing to PNGs from SVGs in this commit since VSCE does not allow for vector graphics in extensions. --- README.md | 20 ++++++------- assets/png/modern-fortran-logo.png | Bin 0 -> 19382 bytes assets/png/readme.discourse.png | Bin 0 -> 6936 bytes assets/png/readme.fortls.png | Bin 0 -> 8906 bytes assets/png/readme.fpm.png | Bin 0 -> 7768 bytes assets/png/readme.github.png | Bin 0 -> 7342 bytes assets/png/readme.github.sponsor.png | Bin 0 -> 3188 bytes assets/png/readme.lfortran.png | Bin 0 -> 3647 bytes assets/png/readme.stdlib.png | Bin 0 -> 7620 bytes assets/png/readme.tutorial.png | Bin 0 -> 4735 bytes assets/svg/modern-fortran-logo.svg | 17 ++++++----- assets/svg/readme.github.sponsor.svg | 36 +++++++++++++---------- assets/svg/readme.lfortran.svg | 42 ++++++++++++++------------- assets/tools/svg2png.sh | 23 +++++++++++++++ 14 files changed, 84 insertions(+), 54 deletions(-) create mode 100644 assets/png/modern-fortran-logo.png create mode 100644 assets/png/readme.discourse.png create mode 100644 assets/png/readme.fortls.png create mode 100644 assets/png/readme.fpm.png create mode 100644 assets/png/readme.github.png create mode 100644 assets/png/readme.github.sponsor.png create mode 100644 assets/png/readme.lfortran.png create mode 100644 assets/png/readme.stdlib.png create mode 100644 assets/png/readme.tutorial.png create mode 100644 assets/tools/svg2png.sh diff --git a/README.md b/README.md index 08a99c3c..f3eedef2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- +

@@ -43,18 +43,18 @@ ## Get Started & Seek Support -

- - - +

+ + +

### Useful Tools

- - - + + +

## Language Server integration @@ -302,8 +302,8 @@ For debugging you need to have one of the following debuggers installed: You can support further development of the extension by fiscal donations: - to our [**LFortan**](https://numfocus.org/donate-to-lfortran) project on NumFOCUS + to our [**LFortan**](https://numfocus.org/donate-to-lfortran) project on NumFOCUS Or - directly sponsoring developers through [**GitHub Sponsors**](https://github.com/fortran-lang/vscode-fortran-support) + directly sponsoring developers through [**GitHub Sponsors**](https://github.com/fortran-lang/vscode-fortran-support) diff --git a/assets/png/modern-fortran-logo.png b/assets/png/modern-fortran-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ebe1d93e1ad4f4cca13632b729318424679f8b86 GIT binary patch literal 19382 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 literal 0 HcmV?d00001 diff --git a/assets/png/readme.discourse.png b/assets/png/readme.discourse.png new file mode 100644 index 0000000000000000000000000000000000000000..bb5a13e44b2167d7435d4516b8a2998dd85639b1 GIT binary patch literal 6936 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 literal 0 HcmV?d00001 diff --git a/assets/png/readme.fortls.png b/assets/png/readme.fortls.png new file mode 100644 index 0000000000000000000000000000000000000000..30748c64f7aef1d4608b6f65337fa0a435e1b794 GIT binary patch literal 8906 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 DdlqNP literal 0 HcmV?d00001 diff --git a/assets/png/readme.github.png b/assets/png/readme.github.png new file mode 100644 index 0000000000000000000000000000000000000000..f810000eca7eb44d30fb09b00b521adc47de311e GIT binary patch literal 7342 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 literal 0 HcmV?d00001 diff --git a/assets/png/readme.lfortran.png b/assets/png/readme.lfortran.png new file mode 100644 index 0000000000000000000000000000000000000000..fb0465f98b84a0ab6b1deec7dca7bfd337a3cad0 GIT binary patch literal 3647 zcmV-F4#4q=P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H14a`YI zK~#90?VNpZT-9~Jf9LLM^=0G_8H?iYVvwsI9HN z1wcfqt+kH>GVWTP2AtC9SSsTzdcHA|aU`FaOzXmQ>)n$=LZu zj^peA^2V5hb#-<7UU=aJXWTR&V@C8i(P;E+W6UO1Z5X`t0dNplTHsze;J<)2YwgRu zy}cXT+uM7BRd@XO*f5t}cGe4u_}DNF4Godn+S>IZ(xa;X3MlXcpk}0k_uY3N)22=1nP;A1$Bv@y z-ZJR+|2;6x$Cx3nQd3h?Z8n>IT|~|+RZ4r@s zo12@{r6@ffoHE8lqtPZ2*)WE6s;WK{3We@UCX*kHVLc^rin|t(5yzAO5fS;SwRY#} z?D|KFW4_>_e2=QW$nOWv8FuYPU?s2` zSO=^HLX2$m(RjAHy87$u*RSvQP-aXCz4zXG@6MSs=Pc7VtJOnbD24B$vxAz4X#cpWn4>mj=_c(l7umEiJF7 z)9G6oXym9^YtKuiQjb|{mx)Mb@bXmPH4%9dct4d&rHnB*7-PD-ySrn+b0YEva1pQ* z*vdf9QW5zN27*U`Wd{x%_=mt-=#wE&&=_;1kg$kc0npOYvO`2J0lv>bymPj-_C*ny z0+385lT}q!8{6C4bDf=?UsKg-sZ?sWF{VjGCUAo77m9W7Li+u zlxeN2tBVhxFvjEY%YmCzbrtZ-ii(Q0ue|a~_Za9rE(im&=^KFW0%yA^q^b`VSk;qg zGJDk>HQ-8)BYd^{fisj6P*qWp{beE#;$n>QZ}QmIie z@pycVwe~I%84@vz$ak8Xo4*xgWkU>;NnG$K$W0bC{g@hc5s?aL80{;AqBF=+=mY7{ zNO-GOM*fqENC?FlR4)vCQw|-QDNbMuW#J+JiBzFXH3*fsjmvVkgQlEITX+fEPYWtgK1(;}l4AuuSXJ&eA7O#5S`k=1XPjXG zE~kenSXN6H5rIl9cgYbtD5p1|CY_OnsTAdW$r3?XMHdQ01g@8(>>D;Z_$8RTOduD@ zAJSYQ;5>p!d!3OzW;__uV+0PV^4|zG3_Ji(su3aq*ZUF5VV`9u4eB!`NQH*u+Pm#+ zyl84D)W2Af>qNK(DDzvX!b6Lb9S`^|e}X-$7nJuNudIrg>=YF_$BLe(P%p|Sffc1Z zP+x98bNRxrp!%%eN`o>?A$BAd%nEDh5rnV!DepTT%EarB4!&}pS!XA2+N$NhDK9Vo zyA2yQ9QCV%8#0N7w}Jj6Cx!->_#b?QoZq7RCG~L}F$u9e8jW62f-Xf_xT&K9;U%~7r5MJQ z^)1jwB@fzZY#Z4qC%Co*U0fmPzqpkxWlB)cFkKj0w1Q@>;v*Lh!5H(&5_EAzCE1sI zwEUPGZ|dJLe^@6v=@RTALW@?iUCYUN7&cV3pt3twE~yUZ`hQg54qF;Fz4g69_n4pD z+m}hyHv?A{)5pJIMD2<3GLNuDE7(9a2h>xza54oK&coT>^TAv*x<2k6f(R|DV`&(~ z$tyHd&8u3)(bDImTMGWF=KLW1mRL!v6knb6ZJ2j768VXq#eslUE>!g=1qFrWU>hF7L)UAn0P$? zW#DN?T)x!B*>8-wt*Derp&g?hk++LUcrr{Pkyxmz|LnC~0S>F`s$?>`zmU*7EB<)0 z3Jry1yrAfwVlti@Xsvw&sP?VVP~HX_-K1B0bCDPxXUByQ(f5nVxHin-MDNOyG#ae% zLh1jlF=lBhm3q@n84$4ZmRclLrASV+t?6XB2oNL1jZbS3MY;ydGbg^h~Mc=K{RWQ4(eS)B~8HV2%n*w{O zaQLRgqRb-4YSY6~`aH*G?=PQKxvQf3NtDlft+yD~3GIV?K^ZTGah?BMNI$DgFAH(M z2~)2j^hW1`dE$f@fi@l!u1A^aK|j|tBr{!^MEx5KIFb>w4PFdWa4sXj#nR7ex|kz{ zpN7EonZ&}+0ElXp3UhXS$TO1{w|Pmc21zL)h%dwJ)iRD@&H)gS#@gE2`$m&( z*tGkHpbz_1uoOy3>U%a!7lt37npgXaL?SWzwlOLD4g(*zk1M5Y199EO71*ieJZz`2 z|I}e^inVssymdn|(l*vRs|Ad zh{$#qQg8c=5PadwFwtoAj#pJK2}%i7eX*E~pl^@oDC5~(H#Rn2AR>4&Go@oX4l%!3p-=D;HkaJ!q6(n2`ndhUa#S82tH6_c~s>=y&7TUGUrbUMA! zm9%giW%QE-R0CZf@?@BNKEE6f`K8e)L-TntH>6UjpSmrxXycv~Fs;F3kZN9~X-dg&42SmRZ}5wnp7WxnK@PmY=7Ial(Wt2x4>*iaDPAAyY*o(xk~R`#2G zKChg#CcBJY)|hV29=@-lK*!R6X7wvpteBk3<*o&;b{uDIOH0dJLEINSD!6gu#t&k# z*hU7<;pA#L&PwrdYNS%-z0d%OL}HTTI9H0upJub!n26M)NFtG#Vy(T@T01)w3ccev&Yi&5fNufs4tmVM4j%NiMzA^_U3b59 z{`piK-)RmN{lwx;Z}~ohGairMs;ZBw>JLPu75H2#mAcdK{f6UtN}ymKlLMv{qW~C{ z@9$W-#Pbf&Yp%H_6pO_kQq@O*qoGjfZ&Rt%O9XuA#;A?UBpN1#Z2oK~WM>FWw;Gx* z*m3b^LRi@@>h11tPKe_kgqgR@mn(A`7+#2AoM5Int zYgF~BbUOVjfLJW{XSrPNrM9-V-XK&PVwhct`ula@B%kR75c-#lV)H`pn;HrKlTMAO z>Twy!XH6E7?>09#-+Mwdkw}Ddx!jD_*4BMNR6S(yRbeK|tRQY22!aVibrouXH$-F+ z0~?_?b#-;!f3j#Ynal%$7zNIdvmGKr4+94bhJcs4ySuM!Z*L#dEnKI4XbzA=DuDwc z^6lp4<|i13HO@1_Ff+*SuCA{B)Oa3JdPclTldwm|`{dR$!Y~uT{~Kl${s$Z3{Y;N5 RBKQCR002ovPDHLkV1jja@ofMA literal 0 HcmV?d00001 diff --git a/assets/png/readme.stdlib.png b/assets/png/readme.stdlib.png new file mode 100644 index 0000000000000000000000000000000000000000..ff2a5ac3fce33e1f571d9effb7d68450644b522b GIT binary patch literal 7620 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 N002ovPDHLkV1h5Z@n`@5 literal 0 HcmV?d00001 diff --git a/assets/svg/modern-fortran-logo.svg b/assets/svg/modern-fortran-logo.svg index 5a0c7e33..60fcc1ff 100644 --- a/assets/svg/modern-fortran-logo.svg +++ b/assets/svg/modern-fortran-logo.svg @@ -2,9 +2,9 @@ + transform="translate(-46.397193,-158.01401)"> + id="g1015" + transform="matrix(1.7092709,0,0,1.7092709,-32.908177,-112.07474)"> - - + transform="translate(-78.623411,-95.024269)"> + + + + diff --git a/assets/svg/readme.lfortran.svg b/assets/svg/readme.lfortran.svg index 6046ba25..8f682889 100644 --- a/assets/svg/readme.lfortran.svg +++ b/assets/svg/readme.lfortran.svg @@ -4,12 +4,12 @@ id="svg34" x="0px" y="0px" - viewBox="0 0 3031.9893 4096.6001" + viewBox="0 0 69.999993 94.578819" xml:space="preserve" sodipodi:docname="readme.lfortran.svg" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" - width="3031.9893" - height="4096.6001" + width="69.999992" + height="94.578819" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -28,17 +28,17 @@ gridtolerance="10" guidetolerance="10" id="namedview36" - inkscape:current-layer="layer1" + inkscape:current-layer="svg34" inkscape:cx="1136.7874" - inkscape:cy="1871.327" + inkscape:cy="1877.1567" inkscape:document-rotation="0" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:window-height="779" - inkscape:window-maximized="0" - inkscape:window-width="1440" + inkscape:window-height="1053" + inkscape:window-maximized="1" + inkscape:window-width="1920" inkscape:window-x="0" - inkscape:window-y="25" + inkscape:window-y="0" inkscape:zoom="0.085768015" objecttolerance="10" pagecolor="#ffffff" @@ -49,9 +49,13 @@ fit-margin-right="0" fit-margin-bottom="0"> + + + id="g844" + transform="scale(0.02308715)"> - - + - - + - + Date: Fri, 3 Jun 2022 20:56:00 +0100 Subject: [PATCH 5/5] Updated CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 74b7d80a..6aa01dfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Changed +- Changed images from SVG to PNG because `vsce` does not support SVG + ([#510](https://github.com/fortran-lang/vscode-fortran-support/pull/510)) - Changed need for matching begin-end scope names, in the following constructs: Functions, Modules, Programs, Module Procedures, Subroutines, Submodules. For a more detailed explanation as to why see the issue