並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 35 件 / 35件

新着順 人気順

TextEditorの検索結果1 - 35 件 / 35件

  • テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum

    テキストエディタのデータ構造 Gap method Piece Table method Piece Table の構造 Piece Table の実装 Piece Table のメソッド まとめ テキストエディタのデータ構造 テキストエディタで採用されているデータ構造にはいろいろあります。 こちらの論文 Data Structures for Text Sequences では各種データ構造について比較検討されています。 多くは、Gap method や Piece table method をベースにしたものが多いのではないでしょうか(図で言う最下部の中心の丸印に当たります)。最近では Rope なども有名ですね。 Gap method Gap method では、現在のカーソル位置で、テキストバッファを2つに分割し Gap を間に挟み、カーソル位置に対する編集(テキスト追加/削除)を

      テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum
    • ターミナル用 UTF-8 テキストエディタを Rust でスクラッチからつくった - はやくプログラムになりたい

      言語処理系やテキストエディタなどのプログラミングツールが好きなので,その周辺を趣味で触ってます.Vim を Wasm にポートするために Vim の実装を読んだりはしているのですが,フルスクラッチでテキストエディタをつくったことはありませんでした. 今年のお盆はめちゃ暑かったので,引きこもって夏休みの自由工作的に Rust でテキストエディタをつくっていたという話です.普段ターミナルで作業しているので,つくるのもターミナル向けテキストエディタです.最近 vim.wasm で C と TypeScript ばかりだったので,そろそろまた Rust か Go を書きたかったのですが,Go はすでに micro という良さそうなテキストエディタ実装があったので,Rust で書いてみることにしました. まずは Build Your Own Text Editor というガイドを利用して,1000行

        ターミナル用 UTF-8 テキストエディタを Rust でスクラッチからつくった - はやくプログラムになりたい
      • Goで作るテキストエディタ - Sansan Tech Blog

        はじめに みなさんこんにちは。Sansan事業部プロダクト開発部のiOSエンジニア荒川です。 以前はRDBMSの記事*1を寄稿し、好評いただいたこともあり、定期的に車輪の再発明系の記事を書いていこうと思います。 さて本日はタイトルの通り、VimやEmacsに代表されるターミナルで動作するインラインテキストエディタをGoで開発してみました。 ソースコードは以下のリポジトリに置いているため、ぜひ参考にしてください。 github.com 完成品 文字だけだとイメージも湧きにくいので、まずは完成品をお見せします。 最低限エディタの動きは出来ている、というレベルの完成度ですね🙏 特徴 1000行インラインエディタ 文字入力/挿入/削除 画面スクロール キーボードショートカット ファイル読み込み/保存 Goのコードハイライト機能 実装の方針 今回はただ開発するだけではなく、いくつかのこだわりポイン

          Goで作るテキストエディタ - Sansan Tech Blog
        • 共同編集を支える技術とライブラリの活用 - ICS MEDIA

          『Google Docs』や『Figma』といったリアルタイムな共同編集ツールの恩恵を受けている人は数多くいるでしょう。『Visual Studio Live Share』のようなエンジニアに嬉しいツールも生まれ、今日ではオンライン上でも円滑なコミュニケーションが可能になっています。 これらのツールの基礎にあるのが「共同編集」のテクノロジーです。本記事ではこの技術に焦点を当て、その仕組みと主にフロントエンドでの実用例について紹介します。 記事の前半では、リアルタイムな共同編集に用いられる技術やアルゴリズムについて、発展の歴史とあわせて紹介します。解説用のコードにはJavaScriptおよびTypeScriptを使用しますが、フロントエンドエンジニアに限らず共同編集の仕組みについて気になる読者が知識を深めるきっかけとなるはずです。 さらに後半ではフロントエンドの開発者目線で、前半で紹介した技

            共同編集を支える技術とライブラリの活用 - ICS MEDIA
          • 無料のMarkdown対応テキストエディタ「novelWriter」使用レビュー

            PCで小説や長い文章を書いたことがある人の中には、シーンとシーンの場面転換がゴチャゴチャになってしまったり、登場人物や場面が多すぎて収拾がつかなくなってしまったりといった経験がある人もいるはず。無料で使用できるオープンソースのテキストエディタ「novelWriter」は、Windowsのエクスプローラーのようなツリー形式でチャプターやシーンを構成することが可能で、Markdown記法で見やすく表示することも可能とのことなので、実際に使ってみました。 novelWriter – A markdown-like editor for writing novels https://novelwriter.io/ ◆インストール 上記のURLにアクセスするとこんな感じ。novelWriterはソフトウェア開発プラットフォームのGitHubで公開されているので、赤枠で囲われた「GitHub」をクリッ

              無料のMarkdown対応テキストエディタ「novelWriter」使用レビュー
            • Meta の新しいリッチテキストエディターフレームワーク Lexical を調べる

              Brand-new Rich Text Editor Framework! 先日 Meta から新しいリッチテキストエディターのフレームワーク Lexical の OSS 化が発表されました。 一方で、 Meta が開発していた既存の React 用リッチテキストエディターフレームワーク Draft.js はアーカイブが決定されました。 実は自分は業務で Draft.js をめちゃくちゃ使っていて、発展に期待しつつウォッチしていたので開発が終了してしまうのが非常に残念ではあるのですが、代わりにより高度に抽象化されたフレームワークが公開されたのでこれはマスターするしかありません。 ということで調べたことをまとめていこうと思います。 執筆時点(2022 年 4 月)では正式リリースされていないので、本稿のサンプルコードは参考にならなくなる可能性があります。 概要 エディターを作るためのフレーム

                Meta の新しいリッチテキストエディターフレームワーク Lexical を調べる
              • テキストエディタを作る

                ここの記事を更新するのは約1年ぶり。夏の間は遊んでいたり秋からは仕事が忙しくなったりの近況だった。 コロナウィルスで自宅に閉じ込められてしまったので、プログラミングの練習のためにテキストエディタを作ってみた。 得られた知見などを紹介しよう。 目標としている機能・実装 練習・教材用として十分な小ささ。 記事のネタになる。また、作っていて飽きない。ひと篭もりするプロジェクトとして適切なサイズ。 昔から、プログラマなら作ってみたいものとして、(1)コンパイラ (2)OS (3)エディタ、がよく挙げられる。コンパイラについては以前に書いた。今回はエディタにチャレンジしてみることにした。 テキストエディタを作る場合、GUIツールキットを使って作成することも考えられるが、今回はviのようにターミナル上で動作するタイプのものを作る。時間があれば、次の様な発展的な目標も検討したい。 設定変更機能を持つ(そ

                • GitHub - facebook/lexical: Lexical is an extensible text editor framework that provides excellent reliability, accessibility and performance.

                  import {$getRoot, $getSelection} from 'lexical'; import {useEffect} from 'react'; import {LexicalComposer} from '@lexical/react/LexicalComposer'; import {PlainTextPlugin} from '@lexical/react/LexicalPlainTextPlugin'; import {ContentEditable} from '@lexical/react/LexicalContentEditable'; import {HistoryPlugin} from '@lexical/react/LexicalHistoryPlugin'; import {OnChangePlugin} from '@lexical/react/

                    GitHub - facebook/lexical: Lexical is an extensible text editor framework that provides excellent reliability, accessibility and performance.
                  • GitHub - lapce/lapce: Lightning-fast and Powerful Code Editor written in Rust

                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                      GitHub - lapce/lapce: Lightning-fast and Powerful Code Editor written in Rust
                    • Helix

                      Multiple selections Multiple cursors as a core editing primitive, inspired by Kakoune. Commands manipulate selections which allows concurrent code editing. Tree-sitter integration Tree-sitter produces error tolerant and robust syntax trees, which enables better syntax highlighting, indent calculation and code navigation. Powerful code manipulation Navigate and select functions, classes, comments,

                      • My Text Edtior is Not Open Source

                        My Text Edtior is Not Open Source 2024-01-02 I’ve been using Sublime Text on and off for longer than I can remember. I think Sublime has been around since the start of my “real” career over 10 years ago, but I could be mistaken1. It certainly feels that long. And in that time I have never gotten upset with Sublime. I’ve never rage quit or ran into an issue of Sublime not being able to do the thing

                        • Zed is now open source - Zed Blog

                          We're excited to announce that Zed is now an open source project. The code for Zed itself is available under a copyleft license to ensure any improvements will benefit the entire community (GPL for the editor, AGPL for server-side components). GPUI, the UI framework that powers Zed, is distributed under the Apache 2 license, so that you can use it to build high-performance desktop applications and

                            Zed is now open source - Zed Blog
                          • GitHub - zee-editor/zee: A modern text editor for the terminal written in Rust

                            The 100 FPS editor. Cursor movement and edits render under 10ms. Everything else happens asynchronously (syntax parsing and highlighting, IO to/from disk, file pickers). Buffers are backed by a fast B-tree implementation of a rope (via cessen's ropey). Edit tree history, aka. undo/redo tree Uses Tree-sitter for generating a parse tree from your code. This AST is used for syntax highlighting and on

                              GitHub - zee-editor/zee: A modern text editor for the terminal written in Rust
                            • GitHub - curlpipe/ox: An independent Rust text editor that runs in your terminal!

                              Ox is a code editor. It was written in Rust using ANSI escape sequences. It assists developers with programming by providing several tools to speed up and make programming easier and a refreshing alternative to heavily bloated and resource hungry editors such as VS Code and JetBrains. Ox is lightweight so it can be used on older computers. Bear in mind, this is a personal project and is nowhere ne

                                GitHub - curlpipe/ox: An independent Rust text editor that runs in your terminal!
                              • Zed on Linux is here!

                                Zed on Linux is here!To install Zed on most Linux distributions, run the shell script below.

                                  Zed on Linux is here!
                                • Zed Decoded: Rope & SumTree - Zed Blog

                                  For this second post in Zed Decoded, our blog & video series in which we're taking a closer look at how Zed is built, I've talked to Zed's three co-founders — Nathan, Max, Antonio — about the data structure at the heart of Zed: the rope. Companion Video: Rope & SumTree This post comes with a 1hr companion video, in which Thorsten, Nathan, Antonio, and Max use Zed to look at how Zed uses the Rope a

                                    Zed Decoded: Rope & SumTree - Zed Blog
                                  • GitHub - rxi/lite: A lightweight text editor written in Lua

                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                      GitHub - rxi/lite: A lightweight text editor written in Lua
                                    • Text Editor Data Structures

                                      Text editors can be an interesting challenge to program. The types of problems that text editors need to solve can range from trivial to mind-bogglingly difficult. Recently, I have been on something of a spiritual journey to rework some internal data structures in an editor I have been building, specifically the most fundamental data structure to any text editor: the text. Table of Contents Resour

                                        Text Editor Data Structures
                                      • Text Editing Hates You Too – Lord.io

                                        Alexis Beingessner's Text Rendering Hates You, published exactly a month ago today, hits very close to my heart. Back in 2017, I was building a rich text editor in the browser. Unsatisfied with existing libraries that used ContentEditable, I thought to myself "hey, I'll just reimplement text selection myself! How difficult could it possibly be?" I was young. Naive. I estimated it would take two we

                                          Text Editing Hates You Too – Lord.io
                                        • xi-editor/docs/docs/crdt-details.md at master · xi-editor/xi-editor

                                          This document contains a detailed description of the data structures and operations Xi uses for text. These data structures and the merge operation also form a Conflict-free Replicated Data Type (CRDT). It being a CRDT allows Xi to be used for concurrent editing of text on multiple devices, it can merge edits, including those made offline, between multiple devices and converge on a consistent docu

                                            xi-editor/docs/docs/crdt-details.md at master · xi-editor/xi-editor
                                          • GitHub - travisdoor/tine: Text editor.

                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                              GitHub - travisdoor/tine: Text editor.
                                            • xi-editor retrospective

                                              A bit more than four years ago I started the xi-editor project. Now I have placed it on the back burner (though there is still some activity from the open source community). The original goal was to deliver a very high quality editing experience. To this end, the project spent a rather large number of “novelty points”: Rust as the implementation language for the core. A rope data structure for tex

                                              • GitHub - liz3/ledit: Simple no bullshit text editor

                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                  GitHub - liz3/ledit: Simple no bullshit text editor
                                                • Zed Decoded: Syntax-Aware Task Spawning With Tree-Sitter - Zed Blog

                                                  Have you ever wanted to execute code from inside Zed? Run tests, or a linter, or the compiler, or maybe a script, or a shell one-liner? Watch: What you just saw was me using Zed Tasks to execute a Go test from inside Zed, passing the name of the current function to the go test command. Tasks, as a new feature, first landed in Zed all the way back in February, in v0.124.7. But since then they've be

                                                    Zed Decoded: Syntax-Aware Task Spawning With Tree-Sitter - Zed Blog
                                                  • Zed Decoded: Linux when? - Zed Blog

                                                    Screenshot of Zed — but where are the red/yellow/green window controls? Does anything stick out? Yes, exactly, it's a screenshot of Zed running on Linux! Wait, what? Zed on Linux? Is it released yet? No, it's not, but it's taking shape, fast. At the end of January we open-sourced Zed and had zero Linux support. Now, three months later, you can compile & run Zed on Linux and actually use it. And I

                                                      Zed Decoded: Linux when? - Zed Blog
                                                    • Nerdy internals of an Apple text editor

                                                      In this article, we’ll dive into the details of the way Paper functions as a TextView-based text editor for Apple platforms. The first article was just a warm-up — here is where we get to truly geek out! 🤓 Before we start, I’ll add that for the time being Paper is built on the older TextKit 1 framework, so the article is relative to TextKit 1. That said, all of the concepts, abstractions, and pri

                                                        Nerdy internals of an Apple text editor
                                                      • GitHub - focus-editor/focus: A simple and fast text editor

                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                          GitHub - focus-editor/focus: A simple and fast text editor
                                                        • テキストエディタ界隈まとめ 1 月 4 週

                                                          gistfile1.txt ���{�U ���z�U テキストエディタ界隈まとめ 1 月 4 週 * Vim9 がマージされる https://github.com/vim/vim/commit/8a7d6542b33e5d2b352262305c3bfdb2d14e1cf8 Vim 8.2.0149 で突如 Vim9 開発ブランチがマスターにマージされました。 Vim9 は Perl5 と Perl6 くらいの違いがあり個人的に別言語です。 ちなみに、neovim は Lua との連携に集中するようですね。 * vim-candle https://github.com/hrsh7th/vim-candle Go で記述された fuzzy finder。denite を参考に作られていて自由度が高くなっている ようです。 * neovide https://github.com/Ket

                                                            テキストエディタ界隈まとめ 1 月 4 週
                                                          • Building a platform that open sources itself - Zed Blog

                                                            For more than a year, Zed's remote team has been coding together in Zed. Instead of reviewing diffs, we usually prefer to have conversations about code. Efficient dialog about any line in the codebase has become an important capability for our team. So important, in fact, that we really want to scale it. We've decided to build a platform designed for open-sourcing itself. Let me say that another w

                                                              Building a platform that open sources itself - Zed Blog
                                                            • 10x Editor

                                                              A High-Performance C++ Editor Uncompromising performance Fast and efficient editing For the professional developer working on large complex projects Experience the difference

                                                                10x Editor
                                                              • Zed Decoded: Why not just embed Neovim? - Zed Blog

                                                                Usually when I tell people that I've switched to Zed as my main editor, after something like 15 years of using Vim, the first question they ask is: don't you miss Vim? Then I tell them: Zed has a Vim mode. I don't think I would've or could've switched if it didn't. Then, surprisingly often, there are follow-up question that sound something like this: a Vim mode? Did you know that Neovim is embedda

                                                                  Zed Decoded: Why not just embed Neovim? - Zed Blog
                                                                • フリーソフトで一番高機能なテキストエディタを教えていただけませんか?

                                                                  回答 (8件中の1件目) viです。vimでもgvimでもいいです。 理由はコレです。

                                                                    フリーソフトで一番高機能なテキストエディタを教えていただけませんか?
                                                                  • Helix

                                                                    The Helix 23.10 release is finally here! 23.10 introduces some very large internal changes that enable some powerful features. A very big thank you to everyone who made this release possible. New to Helix? Helix is a modal text editor with built-in support for multiple selections, Language Server Protocol (LSP), tree-sitter, and experimental support for Debug Adapter Protocol (DAP). Let's check ou

                                                                    • CodeJar – a code editor for the web

                                                                      Extendable You can use any highlighting library. PrismJS or highlight.js or write your own.

                                                                        CodeJar – a code editor for the web
                                                                      • GitHub - ilai-deutel/kibi: A text editor in ≤1024 lines of code, written in Rust

                                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                          GitHub - ilai-deutel/kibi: A text editor in ≤1024 lines of code, written in Rust
                                                                        1