# syntax highlighting

Published articles for syntax highlighting.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Coding Challenge #125 - Online Diff Viewer

DevFeed: [Coding Challenge #125 - Online Diff Viewer](<https://devfeed.tech/articles/coding-challenge-125-online-diff-viewer-29201.md>)

Original publisher: [Read original article](<https://codingchallenges.substack.com/p/coding-challenge-125-online-diff>)

Author: John Crickett

Published: 2026-07-04T08:01:27Z

Content type: tutorial

Language: en

Sources: [Coding Challenges](<https://devfeed.tech/sources/coding-challenges.md>)

Topics: [Code Challenge](<https://devfeed.tech/topics/code-challenge.md>), [coding](<https://devfeed.tech/topics/coding.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [CSS](<https://devfeed.tech/topics/css.md>), [HTML](<https://devfeed.tech/topics/html.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [browser](<https://devfeed.tech/tags/browser.md>), [build](<https://devfeed.tech/tags/build.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [css](<https://devfeed.tech/tags/css.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

Coding Challenge #125 asks readers to build an online diff viewer in the browser. The project compares two text inputs, computes a line-level diff, and presents additions, deletions, and unchanged lines, with planned features including multiple views, syntax highlighting, navigation, export, and accessibility.

### Source excerpt

This challenge is to build your own online diff viewer.

## Using vibes to rewrite my blog

DevFeed: [Using vibes to rewrite my blog](<https://devfeed.tech/articles/using-vibes-to-rewrite-my-blog-37650.md>)

Original publisher: [Read original article](<https://swizec.com/blog/using-vibes-to-rewrite-my-blog>)

Author: hi@swizec.com (Swizec Teller)

Published: 2026-06-27T00:00:00Z

Content type: opinion

Language: en

Sources: [Swizec Teller](<https://devfeed.tech/sources/swizec-teller.md>)

Topics: [gatsby](<https://devfeed.tech/topics/gatsby.md>), [React](<https://devfeed.tech/topics/react.md>), [MDX](<https://devfeed.tech/topics/mdx.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [wasm](<https://devfeed.tech/topics/wasm.md>), [codex](<https://devfeed.tech/topics/codex.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [claude](<https://devfeed.tech/tags/claude.md>), [codex](<https://devfeed.tech/tags/codex.md>), [gatsby](<https://devfeed.tech/tags/gatsby.md>), [mdx](<https://devfeed.tech/tags/mdx.md>), [react](<https://devfeed.tech/tags/react.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

The author describes rewriting the swizec.com blog after Gatsby became difficult to maintain and slow to deploy. They experiment with TimberJS, a React Server Components-based framework, to render MDX with file-based routing, metadata, embeds, image generation, and server-side syntax highlighting. The rewrite reduced reported deployment time from more than 45 minutes to about 3 minutes, while the author emphasizes that effective vibe coding still requires technical knowledge.

### Source excerpt

The death of engineering has been greatly exaggerated. You still need to know what you're doing.

## The Data Structures Behind Text Editors: Gap Buffers, Piece Tables, Ropes, and CRDTs

DevFeed: [The Data Structures Behind Text Editors: Gap Buffers, Piece Tables, Ropes, and CRDTs](<https://devfeed.tech/articles/the-data-structures-behind-text-editors-gap-buffers-piece-tables-ropes-and-crdts-39655.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2026-04-05_text-editor-data-structures>)

Published: 2026-04-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>)

Tags: [data-structures](<https://devfeed.tech/tags/data-structures.md>), [delete](<https://devfeed.tech/tags/delete.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [editor](<https://devfeed.tech/tags/editor.md>), [file](<https://devfeed.tech/tags/file.md>), [insert](<https://devfeed.tech/tags/insert.md>), [memory](<https://devfeed.tech/tags/memory.md>), [search](<https://devfeed.tech/tags/search.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

This tutorial explains how text editors represent document buffers in memory. It compares gap buffers, piece tables, ropes, and CRDTs, focusing on the trade-offs among insertion, deletion, reading, cursor movement, memory efficiency, latency, and multi-user concurrency.

### Source excerpt

Open a text editor, type a character, and it appears on screen. That single keystroke triggers a surprisingly deep question: how does the editor represent your document in memory so that insertions, deletions, and cursor movements all feel instant, even on a file with millions of lines...

## Mintlify Adds Twoslash, Custom Shiki Themes, and Ask AI to Code Blocks

DevFeed: [Mintlify Adds Twoslash, Custom Shiki Themes, and Ask AI to Code Blocks](<https://devfeed.tech/articles/the-role-of-good-code-blocks-in-documentation-30996.md>)

Original publisher: [Read original article](<https://www.mintlify.com/blog/code-block-documentation>)

Author: Winona Rajamohan

Published: 2025-10-16T00:00:00Z

Content type: release

Language: en

Sources: [Mintlify Blog](<https://devfeed.tech/sources/mintlify-blog.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Code](<https://devfeed.tech/topics/code.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [announcements](<https://devfeed.tech/tags/announcements.md>), [developer](<https://devfeed.tech/tags/developer.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

Mintlify announces enhancements to its documentation code blocks, including custom Shiki themes, Twoslash type information on hover, and Ask AI explanations. The article also describes embedded AI assistance and support for the Shiki theme library.

### Source excerpt

Learn how Mintlify helps you ship best-in-class code blocks with Twoslash, Shiki and Ask AI.

## vimrc: settings based on terminal background

DevFeed: [vimrc: settings based on terminal background](<https://devfeed.tech/articles/vimrc-settings-based-on-terminal-background-30278.md>)

Original publisher: [Read original article](<https://www.netmeister.org/blog/vim-color-by-bg.html>)

Published: 2025-09-05T17:22:45Z

Content type: tutorial

Language: en

Sources: [Signs of Triviality](<https://devfeed.tech/sources/signs-of-triviality.md>)

Topics: [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>)

Tags: [based](<https://devfeed.tech/tags/based.md>), [highlighting](<https://devfeed.tech/tags/highlighting.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [set](<https://devfeed.tech/tags/set.md>), [settings](<https://devfeed.tech/tags/settings.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

A tutorial on configuring Vim syntax-highlighting colorschemes based on the current terminal background.

### Source excerpt

How to set e.g., syntax highlighting colorschemes based on the current terminal's background.

## Best Pastebin Alternatives for Secure Text (or Code) Sharing in 2025

DevFeed: [Best Pastebin Alternatives for Secure Text (or Code) Sharing in 2025](<https://devfeed.tech/articles/best-pastebin-alternatives-for-secure-text-or-code-sharing-in-2025-31189.md>)

Original publisher: [Read original article](<https://tailscale.com/learn/best-pastebin-alternatives-for-secure-text-sharing>)

Published: 2025-03-25T20:57:16Z

Content type: comparison

Language: en

Sources: [Learn on Tailscale](<https://devfeed.tech/sources/learn-on-tailscale.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [End-to-End Encryption](<https://devfeed.tech/topics/end-to-end-encryption.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [tailscale](<https://devfeed.tech/topics/tailscale.md>)

Tags: [alternatives](<https://devfeed.tech/tags/alternatives.md>), [article](<https://devfeed.tech/tags/article.md>), [code-sharing](<https://devfeed.tech/tags/code-sharing.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [running](<https://devfeed.tech/tags/running.md>), [security](<https://devfeed.tech/tags/security.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

This comparison examines Pastebin's use for sharing text and code, along with concerns about privacy, spam, malicious content, and feature limitations. It presents more secure alternatives that may offer encryption, password protection, or private sharing.

### Source excerpt

Pastebin is an online platform for sharing, storing and managing text-based content, but has grown into a general-purpose tool or sharing plain text securely. The article addresses some concerns and alternative options to this service.

## Using Bosque in JupyterLab

DevFeed: [Using Bosque in JupyterLab](<https://devfeed.tech/articles/using-bosque-in-jupyterlab-25140.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/using-bosque-in-jupyterlab/>)

Author: brakmic

Published: 2025-01-17T16:17:39Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [Bosque](<https://devfeed.tech/topics/bosque.md>), [jupyterlab](<https://devfeed.tech/topics/jupyterlab.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [kernels](<https://devfeed.tech/topics/kernels.md>), [Python](<https://devfeed.tech/topics/python.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [bosque](<https://devfeed.tech/tags/bosque.md>), [coding](<https://devfeed.tech/tags/coding.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyterlab](<https://devfeed.tech/tags/jupyterlab.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [kernels](<https://devfeed.tech/tags/kernels.md>), [python](<https://devfeed.tech/tags/python.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

The article discusses Bosque, a Microsoft Research programming language centered on regularized programming, immutable state, and intent-focused coding. It also describes the author's experience building JupyterLab extensions and kernels, including Python-based kernels and TypeScript syntax highlighting with Lezer parsers.

### Source excerpt

Discover the innovative world of Bosque, a programming language developed by Microsoft Research that champions the regularized programming paradigm. In this post, I explore the key advantages of Bosque, such as immutable state and intent-focused coding, and share my journey integrating it into JupyterLab. Learn how I developed custom kernels in Python and crafted syntax highlighting extensions using TypeScript and Lezer parsers. Whether you're intrigued by Bosque's approach or looking to enhance your JupyterLab environment, this article provides valuable insights and practical guidance to help you get started. Dive in to see how Bosque can transform your programming experience and streamline your development workflow!

## Mastering Markdown in React

DevFeed: [Mastering Markdown in React](<https://devfeed.tech/articles/mastering-markdown-in-react-30725.md>)

Original publisher: [Read original article](<https://www.windmill.dev/blog/using-markdown-in-react>)

Author: Henri Courdent

Published: 2024-11-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Windmill Blog](<https://devfeed.tech/sources/windmill-blog.md>)

Topics: [Markdown](<https://devfeed.tech/topics/markdown.md>), [React](<https://devfeed.tech/topics/react.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>)

Tags: [guide](<https://devfeed.tech/tags/guide.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [react](<https://devfeed.tech/tags/react.md>), [react-markdown](<https://devfeed.tech/tags/react-markdown.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

A tutorial on using Markdown in React applications with the react-markdown package. It covers Markdown syntax, installation, basic implementation, custom rendering, plugins, syntax highlighting, and handling images and links.

### Source excerpt

A comprehensive guide on integrating and customizing Markdown in React applications using react-markdown.

## Features to consider when choosing a documentation editor

DevFeed: [Features to consider when choosing a documentation editor](<https://devfeed.tech/articles/7-must-have-features-in-a-documentation-editor-in-2025-30962.md>)

Original publisher: [Read original article](<https://developerhub.io/blog/what-to-look-for-in-a-documentation-editor/>)

Author: Zaid Daba'een

Published: 2024-10-13T19:01:46Z

Content type: article

Language: en

Sources: [DeveloperHub.io](<https://devfeed.tech/sources/developerhub-io.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [formatting](<https://devfeed.tech/topics/formatting.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [blocks](<https://devfeed.tech/tags/blocks.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [customizable](<https://devfeed.tech/tags/customizable.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [editor](<https://devfeed.tech/tags/editor.md>), [features](<https://devfeed.tech/tags/features.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [images](<https://devfeed.tech/tags/images.md>), [search](<https://devfeed.tech/tags/search.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [technical](<https://devfeed.tech/tags/technical.md>), [version-control](<https://devfeed.tech/tags/version-control.md>)

### AI overview

This article explains how technical writers can evaluate documentation editors. It discusses formatting options, blocks and custom elements, multimedia embedding, collaboration tools, version control, and search functionality.

### Source excerpt

Selecting the right documentation editor is essential for technical writers. Look for features like advanced formatting, customizable blocks, version control, and powerful search functionality. These tools enhance collaboration and ensure your documentation is clear, accessible, and easy to manage.

## Intro to the new site

DevFeed: [Intro to the new site](<https://devfeed.tech/articles/intro-to-the-new-site-28091.md>)

Original publisher: [Read original article](<https://jlongster.com/intro-new-site>)

Author: James Long

Published: 2024-07-09T12:00:00Z

Content type: article

Language: en

Sources: [James Long](<https://devfeed.tech/sources/james-long.md>)

Topics: [Back end](<https://devfeed.tech/topics/backend.md>), [Obsidian](<https://devfeed.tech/topics/obsidian-md.md>), [User experience (UX)](<https://devfeed.tech/topics/ux.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [render](<https://devfeed.tech/topics/render.md>), [math](<https://devfeed.tech/topics/math.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [math](<https://devfeed.tech/tags/math.md>), [obsidian](<https://devfeed.tech/tags/obsidian.md>), [render](<https://devfeed.tech/tags/render.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [ux](<https://devfeed.tech/tags/ux.md>), [workflow](<https://devfeed.tech/tags/workflow.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

The author introduces a new site backend and a workflow centered on Obsidian for fast writing and publishing. The site supports interactive JavaScript code blocks, syntax highlighting, DOM output, rendering functions, and KaTeX mathematics, motivated partly by the author's AI studies.

### Source excerpt

I just pushed a new backend for this site. I love having a quick direct connection to my site: being able to write content and publish it with a quick press of a key. Previously, I was using logseq for this but while writing my latest post I got frustrated with how slow it is. I use this site not just for writing content, but also quick sketches of interactive code. I can easily make a code block interactive by tagging it to run inline in the page, making it easy to develop quick ideas. For this to work, publishing needs to be instant and the editing experience is vital. In logseq, it took 3-4 seconds to publish content (some of this is due to how I wired up the process) but worse is the editing experience in large posts with lots of code was very slow and frustrating. My new setup uses obsidian to write content which I've found extremely polished and fast. A big difference is logseq is an "outliner" and obsidian treats content as a simple file of text. I'll miss certain features of outliners but overall the UX improvement is very much worth it. New site allows code with syntax highlighting (just as before): function calc(x) { return x + 6 * 10000; } ^659b71 I can make code blocks easily run by adding the run tag to a codeblock. It looks like this: ```js run function calc(x) { return x + 5 * 10; } return calc(10); ``` ^4536cf If I want to show something from the code I can just return the value and it appears in the DOM: (note: skipping interactive content block) ^ef4d56 Alternatively I could use a render function within the code block to do the same thing: render(calc(10)). It's a little more verbose, but the benefit with this is I can render multiple things and at different places in the call stack. I also took the time to support math which is rendered with katex. For example $g(\\sqrt{a^2 + b^2})$ renders as this: $g(\sqrt{a^2 + b^2})$. This new workflow will be instrumental in my AI studies, which was the primary motivation for this rehaul. Watch this space: I

## Launch Week II Day 3: Open Source MDX Engine

DevFeed: [Launch Week II Day 3: Open Source MDX Engine](<https://devfeed.tech/articles/launch-week-ii-day-3-open-source-mdx-engine-31049.md>)

Original publisher: [Read original article](<https://www.mintlify.com/blog/launch-week-2-day-3>)

Author: Hahnbee Lee

Published: 2024-01-10T00:00:00Z

Content type: release

Language: en

Sources: [Mintlify Blog](<https://devfeed.tech/sources/mintlify-blog.md>)

Topics: [MDX](<https://devfeed.tech/topics/mdx.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Next.js](<https://devfeed.tech/topics/next-js.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [launch](<https://devfeed.tech/tags/launch.md>), [mdx](<https://devfeed.tech/tags/mdx.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

Mintlify open-sourced its MDX Engine during Launch Week II. The package provides getCompiledMdx for server-side MDX compilation and MDXComponent for rendering HTML, with support for Mintlify-flavored Markdown and code syntax highlighting.

### Source excerpt

Day 2 of Launch Week 2 brings open-sourcing Mintlify's MDX Engine 🚀.

## Announcing Markdown Twain: A new, Open Source Markdown editor

DevFeed: [Announcing Markdown Twain: A new, Open Source Markdown editor](<https://devfeed.tech/articles/announcing-markdown-twain-a-new-open-source-markdown-editor-23966.md>)

Original publisher: [Read original article](<https://medium.com/making-meetup/announcing-markdown-twain-a-new-open-source-markdown-editor-c9b195556b57?source=rss----6981e268ba45---4>)

Author: Colin Lee

Published: 2023-04-26T18:52:58Z

Content type: release

Language: en

Sources: [Making Meetup - Medium](<https://devfeed.tech/sources/making-meetup-medium.md>)

Topics: [Markdown](<https://devfeed.tech/topics/markdown.md>), [Android](<https://devfeed.tech/topics/android.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Library](<https://devfeed.tech/topics/library.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [library](<https://devfeed.tech/tags/library.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

Meetup announces Markdown Twain, an open-source Android library built with Jetpack Compose that provides Markdown editing and viewing components. It supports syntax highlighting, real-time previews, customizable styling, and Apache 2.0 licensing.

### Source excerpt

We at Meetup are excited to announce the release of Markdown Twain, an open-source library for Android that provides an easy-to-use syntax highlighting editor and viewer for Markdown text using Jetpack Compose for Android. Our new Meetup for Organizers app was entirely written in Jetpack Compose and Kotlin Multiplatform Mobile. While building the new app, we needed a Markdown editor to allow Meetup organizers to edit rich text descriptions for the events they manage. We discovered that no Markdown Editor already existed for Jetpack Compose. So we wrote our own. Editing an event description in Meetup for Organizers on Android With Markdown Twain, developers can easily add a Markdown editor and viewer to their Android applications, allowing people using their apps to easily format and style their text with Markdown syntax. Markdown Twain offers a number of features, including syntax highlighting for Markdown text, real-time preview of formatted text, easy-to-use editor and viewer components, and customizable styling options, and it is based on the popular Markwon library for Android Views. Check out a demo video to see Markdown Twain in action: https://medium.com/media/6c6361c4e125795538792e9238068ac1/href To use Markdown Twain in your Android project, simply follow these steps: Add the following dependency to your app's build.gradle.kts or build.gradle file: dependencies { implementation("com.meetup:twain:0.2.2") // or the latest version } Use the MarkdownEditor() or MarkdownText() Composables in your Jetpack Compose layouts. There are extra attributes available for customizing the display. val textFieldValue = rememberSaveable(stateSaver = TextFieldValue.Saver) { mutableStateOf("") } Card { MarkdownEditor( value = textFieldValue.value, onValueChange = { value -> textFieldValue.value = value.copy(text = value.text) }, modifier = Modifier.fillMaxWidth() ) }MarkdownText( markdown = textFieldValue.value.text, modifier = Modifier.fillMaxWidth() ) Markdown Twain is licens

## Language Injections in Android Studio / IntelliJ IDEA 💉

DevFeed: [Language Injections in Android Studio / IntelliJ IDEA 💉](<https://devfeed.tech/articles/language-injections-in-android-studio-intellij-idea-27883.md>)

Original publisher: [Read original article](<https://riggaroo.dev/language-injections-in-android-studio-intellij-idea/>)

Author: Rebecca Franks

Published: 2021-01-20T09:19:12Z

Content type: tutorial

Language: en

Sources: [Rebecca Franks - @riggaroo](<https://devfeed.tech/sources/rebecca-franks-riggaroo.md>)

Topics: [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [ide](<https://devfeed.tech/topics/ide.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [glsl](<https://devfeed.tech/topics/glsl.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [glsl](<https://devfeed.tech/tags/glsl.md>), [ide](<https://devfeed.tech/tags/ide.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [language-injection](<https://devfeed.tech/tags/language-injection.md>), [opengl](<https://devfeed.tech/tags/opengl.md>), [sql](<https://devfeed.tech/tags/sql.md>), [studio](<https://devfeed.tech/tags/studio.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

This tutorial explains how language injection in Android Studio and IntelliJ IDEA enables embedded code such as SQL or GLSL to receive syntax highlighting, validation, suggestions, and separate-editor support. It also describes using annotations and the GLSL Support Plugin for Kotlin string literals.

### Source excerpt

Android Studio is a powerful IDE with a multitude of features that I'll probably never discover. However, when I do discover a feature of the IDE that I've been dreaming about, I get irrationally excited about it (and often times write a blog post such as this one). One feature that really piqued my interest [...] The post Language Injections in Android Studio / IntelliJ IDEA 💉 appeared first on Rebecca Franks - @riggaroo.

## Applying Semantic Web Principles to Source Code for Better Understanding

DevFeed: [Applying Semantic Web Principles to Source Code for Better Understanding](<https://devfeed.tech/articles/as-we-may-code-28997.md>)

Original publisher: [Read original article](<https://nshipster.com/as-we-may-code/>)

Author: Mattt (mattt@nshipster.com)

Published: 2020-07-07T07:00:00Z

Content type: opinion

Language: en

Sources: [NSHipster](<https://devfeed.tech/sources/nshipster.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Semantic Web](<https://devfeed.tech/topics/semantic-web.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Development](<https://devfeed.tech/topics/development.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Universal Syntax Tree.](<https://devfeed.tech/topics/unist.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [code](<https://devfeed.tech/tags/code.md>), [internet](<https://devfeed.tech/tags/internet.md>), [miscellaneous](<https://devfeed.tech/tags/miscellaneous.md>), [programming](<https://devfeed.tech/tags/programming.md>), [publications](<https://devfeed.tech/tags/publications.md>), [source](<https://devfeed.tech/tags/source.md>), [space](<https://devfeed.tech/tags/space.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

The article proposes applying semantic web principles to source code to improve understanding. It outlines language-agnostic representation, unique URL identifiers for packages, modules, and APIs, and decentralized information distributed across federated data sources.

### Source excerpt

What if, instead of lowering source code down for the purpose of execution, we raised it for the purpose of understanding?

## Почему JetBrains не напишет легковесную IDE

DevFeed: [Почему JetBrains не напишет легковесную IDE](<https://devfeed.tech/articles/jetbrains-ide-34267.md>)

Original publisher: [Read original article](<https://tonsky.livejournal.com/325451.html>)

Published: 2020-05-23T15:16:18Z

Content type: opinion

Language: ru

Sources: [Tonsky Стой под стрелой](<https://devfeed.tech/sources/tonsky.md>)

Topics: [ide](<https://devfeed.tech/topics/ide.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Vim](<https://devfeed.tech/topics/vim.md>), [vs-code](<https://devfeed.tech/topics/vs-code.md>), [Java](<https://devfeed.tech/topics/java.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>)

Tags: [android-studio](<https://devfeed.tech/tags/android-studio.md>), [ide](<https://devfeed.tech/tags/ide.md>), [idea](<https://devfeed.tech/tags/idea.md>), [java](<https://devfeed.tech/tags/java.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [livejournal](<https://devfeed.tech/tags/livejournal.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [tag-5e1c061eda96](<https://devfeed.tech/tags/tag-5e1c061eda96.md>), [tag-c40b78a8c8a6](<https://devfeed.tech/tags/tag-c40b78a8c8a6.md>), [tag-d16a2c26554f](<https://devfeed.tech/tags/tag-d16a2c26554f.md>), [tag-e3028c5e0ab2](<https://devfeed.tech/tags/tag-e3028c5e0ab2.md>), [vim](<https://devfeed.tech/tags/vim.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>)

### AI overview

The author argues that a lightweight IDE cannot exist because IDE features such as navigation, refactoring, debugging, and run configurations must understand the entire project. Build systems, frameworks, and integrations make that project-wide understanding inherently complex. The discussion draws on the author's experience with JetBrains IDEs, Java tooling, and Android Studio, while noting a personal preference for lightweight editors.

### Source excerpt

Еще в 2011 я публично отказался от ИДЕ и так с тех пор и живу: TextMate, Vim, Sublime, LightTable, VS Code, снова Sublime. И вот год назад я устроился в JetBrains. Нет, мое отношение не поменялось: я все еще считаю, что в ИДЕ программировать не надо. У меня на столе усердно копится папочка Annoying IDE(A), а Джаву и Котлин я все так же пишу в Sublime Text. Поменялось вот что. Раньше я думал, что IDE это такие цитадели зла, что их специально делают сложными и неудобными, ну или не специально, а просто сил не хватает сделать аккуратными и легковесными. Могли бы, да не смогли. Сейчас, посмотрев на Idea, и на Java-тулинг, и на Android Studio, я понимаю, что это принципиальное противоречие: в самой идее IDE заложена сложность, кривость и неудобство. Легковесная IDE не может существовать, потому что мир вокруг сложен. Давайте подумаем, что ИДЕ нам дает. Syntax highlighting, Go to definition, Find usages, Show hierarchy, Structural rename, и допустим Run configurations, то есть возможность все это как-то запускать (в том числе и под дебаггером). Все это сами по себе вполне легковесные функции, так-то. Легко представить их чисто интерфейсно в, скажем, в Vim или VS Code, ничего принципиально сложного или развесистого они в себе не несут. Так в чем же проблема? Проблема в том, что чтобы они работали, нужно вот прям все-все знать о проекте в целом. Язык программирования, допустим, маленький и фиксированный, с ним просто. Поэтому Syntax highlighting, для которого дальше одного файла смотреть не нужно, есть в самых легковесных редакторах. А вот как проект настроен и как билдится, вот тут-то адок и начинается. Миллионы билд-систем, некоторые из которых императивные и тюринг-полные, два миллионна фреймворков, миллион в квадрате интеграций, все это кривое, косое, уникальное, как блядь снежинка, общается друг с другом не пойми как, пишет файлы, теряет файлы, не видит очевидного, лезет куда не нужно, зависит друг от друга, ломается и занимается при этом довольно тривиальными вещами,

## GraphQL Schema Auto-Completion with PhpStorm

DevFeed: [GraphQL Schema Auto-Completion with PhpStorm](<https://devfeed.tech/articles/graphql-schema-auto-completion-with-phpstorm-31267.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/graphql-schema-auto-completion-with-phpstorm>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2019-09-18T20:26:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [phpstorm](<https://devfeed.tech/topics/phpstorm.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>)

Tags: [auto-completion](<https://devfeed.tech/tags/auto-completion.md>), [combined](<https://devfeed.tech/tags/combined.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [highlighting](<https://devfeed.tech/tags/highlighting.md>), [insights](<https://devfeed.tech/tags/insights.md>), [little](<https://devfeed.tech/tags/little.md>), [magic](<https://devfeed.tech/tags/magic.md>), [phpstorm](<https://devfeed.tech/tags/phpstorm.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schemas](<https://devfeed.tech/tags/schemas.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

A tutorial on configuring the JS GraphQL plugin in PhpStorm to provide GraphQL schema auto-completion and syntax highlighting. It explains how to install the plugin, configure a .graphqlconfig file, and generate a schema dump by introspecting a GraphQL endpoint.

### Source excerpt

The JS GraphQL plugin combined with a little magic will give you full auto-completion and syntax highlighting of GraphQL schemas in PhpStorm

## Why Medium Was Not a Good Fit for My Developer Writing

DevFeed: [Why Medium Was Not a Good Fit for My Developer Writing](<https://devfeed.tech/articles/it-s-time-to-own-my-own-content-33915.md>)

Original publisher: [Read original article](<https://hakibenita.com/its-time-to-own-my-own-content>)

Author: Haki Benita

Published: 2019-01-13T22:00:00Z

Content type: opinion

Language: en

Sources: [Haki Benita](<https://devfeed.tech/sources/haki-benita.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [ui](<https://devfeed.tech/topics/ui.md>), [WebView](<https://devfeed.tech/topics/webview.md>)

Tags: [articles](<https://devfeed.tech/tags/articles.md>), [code](<https://devfeed.tech/tags/code.md>), [meta](<https://devfeed.tech/tags/meta.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

The author explains why Medium became unsuitable for publishing developer writing, citing poor source-code support, intrusive registration prompts, and an editor that made writing tedious.

### Source excerpt

I started writing about two years ago. Back then, I used to read a lot on Medium. When I finally felt the urge to write something, it made sense to publish there as well. Medium provided me with a platform, an audience, and constant reinforcements in the form of stats, likes and comments. It motivated me to keep writing. Despite it's many advantages, I feel Medium is lacking in some areas.

## An introduction to syntax.cr

DevFeed: [An introduction to syntax.cr](<https://devfeed.tech/articles/an-introduction-to-syntax-cr-34269.md>)

Original publisher: [Read original article](<https://omar.yt/an-introduction-to-syntax-cr>)

Author: Omar Roth (blog@omar.yt)

Published: 2018-07-10T04:04:15Z

Content type: tutorial

Language: en

Sources: [Omar Roth](<https://devfeed.tech/sources/omar-roth.md>)

Topics: [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Crystal](<https://devfeed.tech/topics/crystal.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [crystal](<https://devfeed.tech/tags/crystal.md>), [ecosystem](<https://devfeed.tech/tags/ecosystem.md>), [format](<https://devfeed.tech/tags/format.md>), [highlighting](<https://devfeed.tech/tags/highlighting.md>), [provides](<https://devfeed.tech/tags/provides.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [tool](<https://devfeed.tech/tags/tool.md>), [with](<https://devfeed.tech/tags/with.md>)

### AI overview

An introduction to syntax.cr, which enables Crystal developers to work with the .tmLanguage ecosystem used for syntax highlighting in popular editors.

### Source excerpt

The .tmLanguage format is currently the most popular tool for adding syntax highlighting to popular editors. syntax.cr provides a way to work with that ecosystem from Crystal.

## Guerilla advertisement for creative thinkers

DevFeed: [Guerilla advertisement for creative thinkers](<https://devfeed.tech/articles/guerilla-advertisement-for-creative-thinkers-27952.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2017-09-25-billboard/>)

Author: Matthias Endler

Published: 2017-09-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [PHP](<https://devfeed.tech/topics/php.md>), [Symfony](<https://devfeed.tech/topics/symfony.md>), [Software](<https://devfeed.tech/topics/software.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [creative](<https://devfeed.tech/tags/creative.md>), [developers](<https://devfeed.tech/tags/developers.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [marketing](<https://devfeed.tech/tags/marketing.md>), [php](<https://devfeed.tech/tags/php.md>), [software](<https://devfeed.tech/tags/software.md>), [symfony](<https://devfeed.tech/tags/symfony.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

The article describes trivago's code-only billboard campaign for recruiting creative software engineers. The PHP and Symfony code was designed as a puzzle that led interested people to a recruitment website; around 500 people signed up within the first few days.

### Source excerpt

Sometimes advertisements just have to be bold. Especially when your goal is to hire creative thinkers, why not give them something to... think about!? That was our goal when we planned a new marketing campaign for Software Engineers.

## Using Vim for Swift Development with Syntastic and swift.vim

DevFeed: [Using Vim for Swift Development with Syntastic and swift.vim](<https://devfeed.tech/articles/vim-and-swift-development-in-a-post-apocalyptic-world-22311.md>)

Original publisher: [Read original article](<https://www.thecodedself.com/Vim-Swift/>)

Author: Keegan Rush

Published: 2017-06-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [The Coded Self](<https://devfeed.tech/sources/the-coded-self.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Vim](<https://devfeed.tech/topics/vim.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [plugin](<https://devfeed.tech/tags/plugin.md>), [swift](<https://devfeed.tech/tags/swift.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [vim](<https://devfeed.tech/tags/vim.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A tutorial for configuring Vim to work on Swift projects when Xcode is unavailable or malfunctioning. It uses the Syntastic and swift.vim plugins to compile SwiftPM packages on save, show errors and warnings in Vim, and enable SwiftLint checking.

### Source excerpt

Disclaimer: I don't advocate using Vim seriously as your primary development environment. As powerful as it is, Vim remains a text editor, not an IDE. I ran into some Xcode problems the other day where I lost syntax highlighting and code completion in Swift files. What should we do when Xcode just doesn't work? I joked that at this point, it might be easier to just use Vim for my Swift development. Well... It's not hard to use an arbitrary text editor to write some code and then run it through a compiler. For this setup, we want something a little bit more pleasant to use. The passionate programmers that we are, we want to be able to work on non-trivial Swift projects, with or without Xcode, from the comfort of our own home or in a post-apocalyptic nuclear bunker (hey, let's not rule anything out). We want: Those sweet Vim keybindings An easy way to compile and run code Resilience against Xcode temper tantrums Syntax highlighting that works. All. The. Time. We'll be using some Vim plugins. You'll need some means of plugin management. I'll be using Pathogen. Syntastic Syntastic provides syntax highlighting in Vim for many languages. It does this by associating checkers with a particular language. When you save the file you're working on, it runs the appropriate checkers. A checker is essentially an adapter between the world of Vim with Syntastic and your language with its compiler or linter. What we want to accomplish through Syntastic is to easily compile a project when the current file is saved and surface any errors or warnings inside Vim. Using Pathogen, install Syntastic. cd ~/.vim/bundle && \ git clone --depth=1 https://github.com/vim-syntastic/syntastic.git swift.vim swift.vim has a SwiftPM checker that will compile a project and a SwiftLint checker to remind us that we occasionally have no idea what we're doing. Install swift.vim: cd ~/.vim/bundle && \ git clone --depth=1 https://github.com/keith/swift.vim SwiftPM Go to a Swift project containing a Package.swif

## Cogito: An Open-Source Abstraction for AWS IAM Policies

DevFeed: [Cogito: An Open-Source Abstraction for AWS IAM Policies](<https://devfeed.tech/articles/cogito-adding-i-think-to-iam-28623.md>)

Original publisher: [Read original article](<https://eng.localytics.com/cogito/>)

Author: Kevin Deisz

Published: 2017-06-07T16:43:12Z

Content type: release

Language: en

Sources: [Localytics](<https://devfeed.tech/sources/localytics.md>)

Topics: [AWS IAM](<https://devfeed.tech/topics/aws-iam.md>), [IAM](<https://devfeed.tech/topics/iam.md>), [JSON](<https://devfeed.tech/topics/json.md>), [C](<https://devfeed.tech/topics/c.md>), [AWS CloudFormation](<https://devfeed.tech/topics/aws-cloudformation.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-iam](<https://devfeed.tech/tags/aws-iam.md>), [c](<https://devfeed.tech/tags/c.md>), [cloudformation](<https://devfeed.tech/tags/cloudformation.md>), [iam](<https://devfeed.tech/tags/iam.md>), [identity-and-access-management](<https://devfeed.tech/tags/identity-and-access-management.md>), [json](<https://devfeed.tech/tags/json.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [permissions](<https://devfeed.tech/tags/permissions.md>), [policy](<https://devfeed.tech/tags/policy.md>), [repositories](<https://devfeed.tech/tags/repositories.md>), [security](<https://devfeed.tech/tags/security.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

The article announces Cogito, an open-source abstraction for AWS IAM policy syntax. It introduces a human-readable syntax, a small C library called libcogito for translating between Cogito syntax and AWS JSON policies, local validation, source-control integration, editor syntax highlighting, and CloudFormation integration.

### Source excerpt

Today we are open-sourcing Cogito, an abstraction of AWS IAM syntax. IAM (Identity and Access Management) is AWS's module that dictates the ability of various users and resources to mutate other resources within the AWS ecosystem. Permissions are described through a JSON-structured policy document that lives

## How to test Vue.js plugins and extensions

DevFeed: [How to test Vue.js plugins and extensions](<https://devfeed.tech/articles/how-to-test-vue-js-plugins-and-extensions-31847.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2017/05/how-to-test-vue.js-plugins-and-extensions/>)

Author: Chris Hager

Published: 2017-05-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Vue.js](<https://devfeed.tech/topics/vue.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [Jest](<https://devfeed.tech/topics/jest.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Babel](<https://devfeed.tech/topics/babel.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jest](<https://devfeed.tech/tags/jest.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [python](<https://devfeed.tech/tags/python.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

A tutorial on testing Vue.js plugins and extensions with real Vue.js instances, state changes, transformation checks, and expected-error validation. It uses Jest examples and discusses linting and transpiling ES6 code to ES5 for compatibility.

### Source excerpt

This post shows how to write tests for Vue.js plugins and extensions by creating Vue.js instances, changing state and validating transformation and expected errors, to continuously verify that everything still works after updates, refactorings and merging contributions. While building python-boilerplate.com, I recently created a Vue.js plugin for syntax highlighting (vue-highlightjs), and wanted to add tests. For this I spent some time researching and testing how to properly test Vue.js plugins and extensions, and I wanted to summarize and share what I've learnt.

## Vue.js Syntax Highlighting with highlight.js

DevFeed: [Vue.js Syntax Highlighting with highlight.js](<https://devfeed.tech/articles/vue-js-syntax-highlighting-with-highlight-js-31844.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2017/02/vuejs-syntax-highlighting-with-highlightjs/>)

Author: Chris Hager

Published: 2017-02-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Highlight.js](<https://devfeed.tech/topics/highlightjs.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Vue.js](<https://devfeed.tech/topics/vue.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [javascript](<https://devfeed.tech/tags/javascript.md>), [npm](<https://devfeed.tech/tags/npm.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [vue-js](<https://devfeed.tech/tags/vue-js.md>)

### AI overview

A tutorial showing how to use highlight.js for syntax highlighting in a Vue.js application, including a custom v-highlightjs directive that handles initial rendering and source-code updates.

### Source excerpt

Everyone loves a good syntax highlighting. This post explains how to use highlight.js for syntax highlighting in a Vue.js application. The method shown here allows syntax highlighting both on original creation of an element as well as on updates to the source-code, using a simple v-highlightjs directive such as this: <pre v-highlightjs><code class="javascript"></code></pre> You can see a live example here: jsfiddle.net/metachris/1vz9oobc. To achieve this, we just need to install the highlight.

## Switching to Atom, this time for good

DevFeed: [Switching to Atom, this time for good](<https://devfeed.tech/articles/switching-to-atom-this-time-for-good-37368.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/trying-atom-for-the-third-time/>)

Author: Stanko

Published: 2016-04-18T00:00:00Z

Content type: opinion

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Atom](<https://devfeed.tech/topics/atom.md>), [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [alternatives](<https://devfeed.tech/tags/alternatives.md>), [atom](<https://devfeed.tech/tags/atom.md>), [editor](<https://devfeed.tech/tags/editor.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [switching](<https://devfeed.tech/tags/switching.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

The author revisits GitHub's Atom editor after previously returning to Sublime Text and decides to keep using Atom. They report major improvements in speed, interface quality, and community packages, especially for frontend development, while noting that large files remain difficult to open and syntax highlighting briefly appears after opening a file.

### Source excerpt

I'm a big fan of Sublime Text editor, which I was using for years now. Minimal, fast, reliable. But there is one big problem with it. Only one man is working on it's development and community really slowed down. JavaScript ecosystem is going forward at incredible speed, and I'm not sure if Sublime will be able to keep up. Even bus factor comes to mind. That's why I tried couple of alternatives. When comes to bigger IDEs JetBrains is really good, but it is not as snappy as I would like. Logical move was to try GitHub's Atom editor again. Atom is basically a open source clone of Sublime Text, built on web technologies. I've tried it two times in the past, but both times I was going back to Sublime. It just wasn't as polished and fast as Sublime is. Couple of weeks ago I gave it another chance. This time it blew me away. It is so much faster than it was last time I tried it. Community released and updated so many great packages. Linters, support for React, Angular, Babel, ES2015... UI is better, everything improved so much. Small disclaimer, I'm a frontend developer, and Atom is awesome for it. People are using it for everything else too, but I don't have much experience with other languages. Issue with large files is still here though. Opening 5MB+ log files is painful. This is something that I hope will be solved in the future, but it is not a deal breaker for me. Also when you open a file, there is a brief flash of white text, before syntax highlighting kicks in, but I got used to it after couple of days. Long story short - I'm sticking with Atom this time. Thanks to everyone in the Atom team and community, for making awesome development tool, and keeping it open source. Edit: I even used Atom recently on live coding session on Null Object Tech Meetup.

[Next page](<https://devfeed.tech/tags/syntax-highlighting.md?cursor=WyIyMDE2LTA0LTE4VDAwOjAwOjAwKzAwOjAwIiwgIjA3MTcwZTlhLTQyY2EtNDc5NC1hZjMyLTkyODEyZjVlYmVhOCJd>)