{"id":4151,"date":"2020-12-02T11:29:32","date_gmt":"2020-12-02T17:29:32","guid":{"rendered":"https:\/\/www.logikalsolutions.com\/wordpress\/?p=4151"},"modified":"2023-11-27T18:23:27","modified_gmt":"2023-11-28T00:23:27","slug":"diamond-editor-pull-request","status":"publish","type":"post","link":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/","title":{"rendered":"CopperSpice Experiments &#8211; Pt. 18 &#8211; The Pull Request"},"content":{"rendered":"\n<p>It has been a very long time coming, life kept getting in the way here, but my Diamond editor changes are ready for pull. For those who don&#8217;t give a rat&#8217;s behind about the pull request, here are the new packages. These are <strong>not official<\/strong>. I have tested these Diamond editor packages in bare installs of said operating systems. For Ubuntu installs you need to use the Software Installer, not dpkg from the command line because dpkg won&#8217;t install dependencies.<\/p>\n\n\n\n<p><strong>Note:<\/strong> I don&#8217;t remember if I fixed it or not. If you have an existing diamond config, sometimes the only theme you get is the one you had. Just rename your config file before installing. There aren&#8217;t that many settings.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Packages<\/h3>\n\n\n<p><div class=\"sdm_download_button_box_default\"><div class=\"sdm_download_link\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/?sdm_process_download=1&download_id=4153\" class=\"sdm_download green\" title=\"Diamond 2.0.1 for Ubuntu 18.04 LTS\" >Diamond for Ubuntu 18.04 LTS<\/a><\/div><\/div> <div class=\"sdm_download_count\"><span class=\"sdm_count_number\">604<\/span><span class=\"sdm_count_string\"> Downloads<\/span><\/div><\/p>\n\n\n<p><div class=\"sdm_download_button_box_default\"><div class=\"sdm_download_link\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/?sdm_process_download=1&download_id=4154\" class=\"sdm_download green\" title=\"Diamond for Ubuntu 20.04 LTS\" >Diamond for Ubuntu 20.04 LTS<\/a><\/div><\/div> <div class=\"sdm_download_count\"><span class=\"sdm_count_number\">578<\/span><span class=\"sdm_count_string\"> Downloads<\/span><\/div><\/p>\n\n\n<p><div class=\"sdm_download_button_box_default\"><div class=\"sdm_download_link\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/?sdm_process_download=1&download_id=4155\" class=\"sdm_download green\" title=\"Diamond text editor for Fedora 33\" >Diamond for Fedora 33<\/a><\/div><\/div> <div class=\"sdm_download_count\"><span class=\"sdm_count_number\">639<\/span><span class=\"sdm_count_string\"> Downloads<\/span><\/div><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Package Creation<\/h3>\n\n\n\n<p>Yes, we now have both RPM and Debian creation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"666\" height=\"79\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/12\/Screenshot_20201202_082840.png\" alt=\"shell scripts\" class=\"wp-image-4156\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/12\/Screenshot_20201202_082840.png 666w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/12\/Screenshot_20201202_082840-300x36.png 300w\" sizes=\"(max-width: 666px) 100vw, 666px\" \/><figcaption class=\"wp-element-caption\">Shell scripts<\/figcaption><\/figure>\n\n\n\n<p>build-diamond-deb.sh checks for a Debian based distro then does everything necessary for a full build of source to create a Debian package. One of the things it does up front is run Artistic Style on the src directory.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"691\" height=\"57\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/12\/Screenshot_20201202_082944.png\" alt=\"artistic style control file\" class=\"wp-image-4157\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/12\/Screenshot_20201202_082944.png 691w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/12\/Screenshot_20201202_082944-300x25.png 300w\" sizes=\"(max-width: 691px) 100vw, 691px\" \/><figcaption class=\"wp-element-caption\">Artistic Style control file<\/figcaption><\/figure>\n\n\n\n<p>When the shell scripts run they use this configuration file. The same configuration file is run when you choose to execute Astyle from within Diamond if you are editing in the src (or any sub-directory.)  The Artistic Style command looks first in your local directory then in the project root and I forget where else. <\/p>\n\n\n\n<p>If multiple developers will work in a code base a method of enforcing common style so things are readable is needed. Artistic Style works well in most of the shops I&#8217;m at.<\/p>\n\n\n\n<p>The astyle-diamond.sh is really just a helper.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#!\/bin\/sh\n#\nastyle -n src\/*.cpp src\/*.h\n#\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">#!\/bin\/sh<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">#<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">astyle<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-n<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">src\/<\/span><span style=\"color: #BABED8\">*<\/span><span style=\"color: #C3E88D\">.cpp<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">src\/<\/span><span style=\"color: #BABED8\">*<\/span><span style=\"color: #C3E88D\">.h<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">#<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>build-diamond-rpm.sh does the same thing for RPM creation. It checks for a RedHat based distro and checks to ensure rpmdevtools has been installed.<\/p>\n\n\n\n<p>Both packaging scripts dump the diamond tree into \/opt\/diamond. The .desktop file is copied to the appropriate location and a symbolic link is created in the appropriate directory so one can type diamond at the command line and have it run no matter what directory the user is in.<\/p>\n\n\n\n<p>The third digit of a release really should no longer be allowed to be a zero. It has to do with RPM packaging viewing that as the &#8220;build number.&#8221; Most counting systems don&#8217;t start at zero.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Summary of changes<\/h3>\n\n\n\n<p>The <a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-text-editor-current-state\/\" target=\"_blank\" rel=\"noreferrer noopener\">summary at this post<\/a> is still pretty accurate. Life has just been in the way and I have been focused on getting the packing done. Probably best to install one of the packages to kick the tires.<\/p>\n\n\n\n<p>For &#8220;Why EDT?&#8221; Read <a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-edt-keypad-support\/\" target=\"_blank\" rel=\"noreferrer noopener\">this post<\/a>.<\/p>\n\n\n\n<p>For &#8220;Why Themes?&#8221; Read <a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/copperspice-experiments-pt-13\/\" target=\"_blank\" rel=\"noreferrer noopener\">this post<\/a>. If you don&#8217;t want to read the entire post I will include the ending paragraph here.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Do you know why Betty Crocker cake mix crushed the competition despite there being dozens of other brands on the shelf?<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>This was the days when women actually called themselves a \u201cHouse Wife\u201d and were proud of it. All of those other cake mixes were \u201cinstant.\u201d You just added water and put them in the oven. With Betty Crocker you added an egg. Adding an egg crossed the psychological barrier and the conscientious house wife could honestly say \u201cYes, I baked it myself.\u201d Adding an egg made it not instant and therefore okay. Instant is what the bad wives did and you would never find them featured in Good Housekeeping.<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Putting in place the groundwork for community themes is the text editor equivalent of \u201cadding an egg.\u201d Allowing users to create plug-ins is the text editor equivalent of allowing too many cooks into the kitchen. That\u2019s a condition Emacs suffers quite badly from now. Most of the plug-ins conflict horribly or cause random oddities in unrelated plug-ins. With every plug-in you install it is like tap dancing in a mine field.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Some of the other things off the top of my head:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data needed by more than one class\/object is now in a singleton named Overlord. Settings, options, themes, syntax highlighting, etc. are all in Overlord.<\/li>\n\n\n\n<li>Default font is now Monospace. It will still do Courier if it cannot find Monospace. I forget the rest of the fallback patterns. Monospace is everywhere in a post-Java world. It also tends to be far more legible than Courier.<\/li>\n\n\n\n<li>Can now preload syntax highlight files in Overlord. Editor instances no longer load themes directly. They reference them from overlord so the editor isn&#8217;t continually parsing JSON. On slow I\/O machines that is significant overhead.<\/li>\n\n\n\n<li>Lots of source code consolidation. <strong>One Class One Source File<\/strong> has been introduced into the code base so methods could be easily found.<\/li>\n\n\n\n<li>Astyle on Save can now be turned on. One can also Astyle the document they are editing. All of this assumes you actually have Astyle installed on the machine.<\/li>\n\n\n\n<li>Backup versions with a central backup directory like Emacs using Emacs style naming. Unlike Emacs we can also browse backup versions and open them in ReadOnly mode. Options allows you to enable backups and to set the maximum number for each file. Backups are created on each and every save. Older backup files purged off.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"820\" height=\"655\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/09\/backups.png\" alt=\"\" class=\"wp-image-3795\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/09\/backups.png 820w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/09\/backups-300x240.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/09\/backups-768x613.png 768w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><figcaption class=\"wp-element-caption\">What backups look like in dialog<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>F12 can send Backspace just like a real VT terminal<\/li>\n\n\n\n<li>One of the many benefits coming from EDT is that we can now append many cut\/copy segments into the system clipboard. To be able to verify this I added a clipboard viewer as well.<\/li>\n\n\n\n<li>All dictionaries are now deployed with package\/install. Dictionary dialog as well as handling still needs a bit of re-architecting. It should just be keeping a reference to the primary language dictionary, not a copy of it. Because of the way it works now you still can&#8217;t &#8220;switch&#8221; dictionaries without manually copying them into the .config\/diamond directory.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Developer documentation<\/h3>\n\n\n\n<p>A completely new directory tree within the project named dev_doc. It is a place to store RTF formatted developer documentation as well as hand holding tutorials for noobs and non-developers alike. Files &#8220;Getting-Started.rtf&#8221; and &#8220;Rules-and-Goals.rtf&#8221; are living documents that will evolve as the project evolves. &#8220;Getting-Started.rtf&#8221; includes many ways for noobs and non-developers to contribute in a very meaningful way right out of the gate. They don&#8217;t have to know a single thing about C++ or CopperSpice.<\/p>\n\n\n\n<p>The OS_setup directory includes step-by-step instructions for setting up both development and test virtual machines under Oracle Virtualbox. This makes the project far more accessible to non-experts and an OpenSource editor should never be an expert-friendly project. There are far too many of those projects already.<\/p>\n\n\n\n<p>Probably forgot hundreds of other little things. Now is the time to see if this was going to be rolled into the base Diamond project or if it would have to be forked into its own project. The instructions I have for snap creation were rather repository specific. Did not want to go down that rabbit hole if things were going to need a different project name.<\/p>\n\n\n\n<p>No matter which way this goes, the next set of changes will make these look small. Need to have a solid baseline either as part of Diamond or a new project before doing them.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/splitting-animated-gif\/\">&lt;Previous-part<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It has been a very long time coming, life kept getting in the way here, but my Diamond editor changes are ready for pull. For those who don&#8217;t give a rat&#8217;s behind about the pull request, here are the new packages. These are not official. I have tested these Diamond editor packages in bare installs of said operating systems. For Ubuntu installs you need to use the Software Installer, not dpkg from the command line &hellip; <a title=\"CopperSpice Experiments &#8211; Pt. 18 &#8211; The Pull Request\" class=\"bnm-read-more\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/\"><span class=\"screen-reader-text\">CopperSpice Experiments &#8211; Pt. 18 &#8211; The Pull Request<\/span>Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":3966,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[1892,1835,1859,1891],"class_list":["post-4151","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-information-technology","tag-artistic-style","tag-copperspice","tag-diamond-text-editor","tag-fedora-33","bnm-entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CopperSpice Experiments - Pt. 18 - The Pull Request &#8211; Logikal Blog<\/title>\n<meta name=\"description\" content=\"Text for the pull request with respect to major changes to Diamond editor. Lots of new goodness has been added.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CopperSpice Experiments - Pt. 18 - The Pull Request &#8211; Logikal Blog\" \/>\n<meta property=\"og:description\" content=\"Text for the pull request with respect to major changes to Diamond editor. Lots of new goodness has been added.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/\" \/>\n<meta property=\"og:site_name\" content=\"Logikal Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-02T17:29:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-28T00:23:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/10\/mem-leak-tues-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"820\" \/>\n\t<meta property=\"og:image:height\" content=\"655\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"seasoned_geek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"seasoned_geek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/\"},\"author\":{\"name\":\"seasoned_geek\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"headline\":\"CopperSpice Experiments &#8211; Pt. 18 &#8211; The Pull Request\",\"datePublished\":\"2020-12-02T17:29:32+00:00\",\"dateModified\":\"2023-11-28T00:23:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/\"},\"wordCount\":1237,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/mem-leak-tues-2.png\",\"keywords\":[\"Artistic Style\",\"CopperSpice\",\"diamond text editor\",\"Fedora 33\"],\"articleSection\":[\"Information Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/\",\"name\":\"CopperSpice Experiments - Pt. 18 - The Pull Request &#8211; Logikal Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/mem-leak-tues-2.png\",\"datePublished\":\"2020-12-02T17:29:32+00:00\",\"dateModified\":\"2023-11-28T00:23:27+00:00\",\"description\":\"Text for the pull request with respect to major changes to Diamond editor. Lots of new goodness has been added.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/mem-leak-tues-2.png\",\"contentUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/mem-leak-tues-2.png\",\"width\":820,\"height\":655},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/diamond-editor-pull-request\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CopperSpice Experiments &#8211; Pt. 18 &#8211; The Pull Request\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\",\"name\":\"Logikal Blog\",\"description\":\"For people with attention spans longer than a Tweet\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\",\"name\":\"seasoned_geek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"caption\":\"seasoned_geek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\"},\"description\":\"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\\\/Qt touchscreen\\\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \\\"Zinc It!\\\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \\\"The Minimum You Need to Know to Be an OpenVMS Application Developer\\\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \\\"The Minimum You Need to Know\\\" book series was born. Three years later he wrote his first novel \\\"Infinite Exposure\\\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \\\"The Earth That Was\\\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.\",\"sameAs\":[\"https:\\\/\\\/theminimumyouneedtoknow.com\"],\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/author\\\/seasoned_geek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CopperSpice Experiments - Pt. 18 - The Pull Request &#8211; Logikal Blog","description":"Text for the pull request with respect to major changes to Diamond editor. Lots of new goodness has been added.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/","og_locale":"en_US","og_type":"article","og_title":"CopperSpice Experiments - Pt. 18 - The Pull Request &#8211; Logikal Blog","og_description":"Text for the pull request with respect to major changes to Diamond editor. Lots of new goodness has been added.","og_url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/","og_site_name":"Logikal Blog","article_published_time":"2020-12-02T17:29:32+00:00","article_modified_time":"2023-11-28T00:23:27+00:00","og_image":[{"width":820,"height":655,"url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/10\/mem-leak-tues-2.png","type":"image\/png"}],"author":"seasoned_geek","twitter_card":"summary_large_image","twitter_misc":{"Written by":"seasoned_geek","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/#article","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/"},"author":{"name":"seasoned_geek","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"headline":"CopperSpice Experiments &#8211; Pt. 18 &#8211; The Pull Request","datePublished":"2020-12-02T17:29:32+00:00","dateModified":"2023-11-28T00:23:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/"},"wordCount":1237,"commentCount":0,"publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/10\/mem-leak-tues-2.png","keywords":["Artistic Style","CopperSpice","diamond text editor","Fedora 33"],"articleSection":["Information Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/","url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/","name":"CopperSpice Experiments - Pt. 18 - The Pull Request &#8211; Logikal Blog","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/#primaryimage"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/10\/mem-leak-tues-2.png","datePublished":"2020-12-02T17:29:32+00:00","dateModified":"2023-11-28T00:23:27+00:00","description":"Text for the pull request with respect to major changes to Diamond editor. Lots of new goodness has been added.","breadcrumb":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/#primaryimage","url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/10\/mem-leak-tues-2.png","contentUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2020\/10\/mem-leak-tues-2.png","width":820,"height":655},{"@type":"BreadcrumbList","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/diamond-editor-pull-request\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.logikalsolutions.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"CopperSpice Experiments &#8211; Pt. 18 &#8211; The Pull Request"}]},{"@type":"WebSite","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website","url":"https:\/\/www.logikalsolutions.com\/wordpress\/","name":"Logikal Blog","description":"For people with attention spans longer than a Tweet","publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.logikalsolutions.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842","name":"seasoned_geek","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","url":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","caption":"seasoned_geek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r"},"description":"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\/Qt touchscreen\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \"Zinc It!\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \"The Minimum You Need to Know to Be an OpenVMS Application Developer\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \"The Minimum You Need to Know\" book series was born. Three years later he wrote his first novel \"Infinite Exposure\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \"The Earth That Was\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.","sameAs":["https:\/\/theminimumyouneedtoknow.com"],"url":"https:\/\/www.logikalsolutions.com\/wordpress\/author\/seasoned_geek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/4151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/comments?post=4151"}],"version-history":[{"count":0,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/4151\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media\/3966"}],"wp:attachment":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media?parent=4151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/categories?post=4151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/tags?post=4151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}