首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏MasiMaro 的技术博文

    从零开始配置vim(21)——lsp简介与treesitter 配置

    treesitter 配置 我们简单介绍过 neovim-treesitter 这个插件,它可以用来做代码高亮。它采用 lsp 协议实现,比起单纯使用正则表达式来说,它具有更好的渲染效果。 treesitter 想要工作,需要根据语言下载配套语言对应的语法解析模块,我们可以使用 :TSInstallInfo 来查看当前我们安装了哪些解析模块。 也就是一条命令就搞定了 安装完成之后我们可以使用 :TSBufToggle highlight 来使用 treesitter 进行高亮 如果我们每次都需要手工调用命令来进行高亮的话,就太不智能了 require('nvim-treesitter.configs').setup({ -- 支持的语言 好了,到此为止我们先体验了一下基于 lsp 实现的 treesitter 的功能,后面将展开讲述 lsp 对一些语言的支持,敬请期待

    5.5K20编辑于 2022-09-28
  • 来自专栏MasiMaro 的技术博文

    从零开始配置vim(20)——模糊查询

    nvim-telescope/telescope.nvim', tag = '0.1.0', requires = { {'nvim-lua/plenary.nvim'} } } 为了更好的使用体验可以安装一个 nvim-treesitter nvim-telescope/telescope.nvim', tag = '0.1.0', requires = { {'nvim-lua/plenary.nvim'} , { 'nvim-treesitter /nvim-treesitter', run = function() require('nvim-treesitter.install').update({ with_sync = true }) end, }} } 这里加上一个 run 的配置主要是安装 nvim-treesitter 插件之后,第一次会报错,后面是正常的,这句话是为了消除第一次加载时报错 安装完成之后,我们就可以在命令中输入

    1.6K20编辑于 2022-09-27
  • 来自专栏Rust语言学习交流

    【Rust日报】 2019-08-28:Rust异步代码的优势:相比于其他语言更加容易调试

    Understanding-Rust-Through-AVL-Trees/ Codes: https://github.com/FrancisMurillo/avl_tree_set_rs 在Rust中使用Tree-sitter解析器生成器 #TreeSitter TreeSitter是 GitHub 团队的解析器项目, 目的在于给 GitHub 及 Atom 编辑器提供高效以及跨语言的语法解析支持, 采用 GLR 算法, 支持消歧, 从错误中恢复, 增量解析等功能 TreeSitter支持多种语言,且支持增量解析,它的出现降低了自己实现语言的门槛。 该文章简单介绍了Rust中使用TreeSitter的方法。

    1.7K50发布于 2019-08-30
  • 来自专栏编译思想

    详解nvim内建LSP体系与基于nvim-cmp的代码补全体系

    另外需要注意的是Lspsaga官方提到了nvim-treesitter是可选的依赖,但事实体验上强烈要求安装nvim-treesitter插件,因为像是用于像是代码大纲的"Lspsaga outlint 所以,接下来我们再补充介绍一下nvim-treesitter插件。 nvim-treesitter 在介绍nvim-treesitter之前,我们需要了解tree-sitter这个工具。 当然,nvim-treesitter并不严格属于LSP体系。它的主要作用是对代码解析出各种符号、结构,以便呈现nvim中文本的高亮。 但是,我们使用nvim想要搭建一套趁手的代码编写环境,基本上是离不开nvim-treesitter的,像上面的nvim-lspsaga在使用的过程中,也是会调用nvim-treesitter相关的API 对于nvim-treesitter,它同样将不同的语言进行了解耦拆分。你可以通过setup配置,来定义哪些文件要高亮。

    3.6K12编辑于 2023-10-18
  • 来自专栏浪浪山下那个村

    neovim 从0开始配置优化

    pair rainbow colorize lazy = true, event = { "User FileOpened" }, }, { "romgrk/nvim-treesitter-context ", lazy = true, event = { "User FileOpened" }, config = function() require("treesitter-context = function() vim.g.matchup_matchparen_offscreen = { method = "popup" } lvim.builtin.treesitter.matchup.enable }) end, }, { "lukas-reineke/cmp-under-comparator", lazy = true }, { "ray-x/cmp-treesitter

    1K20编辑于 2024-06-09
  • 来自专栏goodcitizen

    老旧 Linux 系统搭建现代 C++ 开发环境 —— 基于 neovim

    tree-sitter 是一个解析器生成工具和增量解析库,在 nvim 中主要用作 latex 语言解析器、以及 rainbow-delimiters.nvim 和 nvim-treesitter.nvim rainbow-delimiters 主要用于多种语言的语法高亮,特别是多括号的展示;nvim-treesitter 主要用于高效代码导航与编辑,是 IDE 不可或缺的底层组件。 : require("vim.treesitter.health").check() - Nvim runtime ABI version: 14 - OK Parser: bash ABI : 14, path: /home/users/yunhai01/.local/share/nvim/site/lazy/nvim-treesitter/parser/bash.so - OK Parser Neovim 代码高亮插件 nvim-treesitter 的安装与配置 [10]. lazy-nvim插件管理器基础入门 [11]. neovim入门指南(一):基础配置 [12].

    1.4K10编辑于 2024-08-01
  • 来自专栏phodal

    Guarding:开源的多语言架构守护工具

    使用 Treesitter 作为解析工具,配合 S 表达式进行解析。 Guarding 规则执行器。 多语言源码解析 在语言解析这事上吧,我又经历了一系列的尝试。 解析示例 如下是一个简单的 C++ 语言的 Class 示例: class MyClass { public: int myNum; string myString; }; TreeSitter 会将上述的 你可以从 TreeSitter 官方提供的在线 Playground 尝试:https://tree-sitter.github.io/tree-sitter/playground Guarding 语法解析与设计

    1.1K20发布于 2021-07-15
  • 来自专栏Mintimate's Blog

    Linux上配置LunarVim:快速初始化Neovim,让你的文本编辑更加清爽和强大

    解压文件替换 tar -xf lunarvim.tar-gz # 归属文件为当前用户 chown -R `whoami`:`whoami` lunarvim 图片 之后,编辑文件,如果出现nvim-treesitter Lvim使用treesitter进行语法提升并下载支持。 所以在编辑文件,Lvim就会自动下载,如果不需要或者想自定义,可以关闭配置文件内的: -- treesitter自动下载 lvim.builtin.treesitter.auto_install = true

    6.6K60编辑于 2023-02-12
  • 来自专栏phodal

    AutoDev 架构升级:多端编程 Agent(CLI/Desktop/Mobile),欢迎一起参与演进

    AutoDev Desktop 和 AutoDev Android,以及未来的 AutoDev iOS 而为了在当前 AI Token 还不便宜、Agent grep 还不理想的情况下,我们还是构建了基于 TreeSitterTreeSitter 是目标 “跨平台” 最好的方式之一,毕竟 wasm + binary 可以运行在各种平台上。

    33610编辑于 2025-11-12
  • 来自专栏phodal

    构建你自己的 AI 辅助编码助手:从 IDE 插件、代码数据生成和模型微调(万字长文)

    在不同的场景和平台之下,我们可以结合不同的静态代码分析工具, 如下是常见的一些静态代码分析工具: TreeSitter,由 GitHub 开发的用于生成高效的自定义语法分析器的框架。 TreeSitter 是一个用于生成高效的自定义语法分析器的框架,由 GitHub 开发。 由于 TreeSitter 已经提供了多语言的支持,你可以使用 Node.js、Rust 等语言来构建对应的插件。详细见:TreeSitter。 根据我们的意图不同,使用 TreeSitter 也有不同的方式: 解析 Symbol 在代码自然语言搜索引擎 Bloop 中,我们使用 TreeSitter 来解析 Symbol,以实现更好的搜索质量。 label", ]], }; Chunk 代码 如下是 Improving LlamaIndex’s Code Chunker by Cleaning Tree-Sitter CSTs 中的 TreeSitter

    7.1K34编辑于 2024-01-02
  • 来自专栏phodal

    代码分析与自动化重构工具集:Modernizing

    常用的工具有:Antlr、Ctags、TreeSitter、Doxygen、CodeQuery 等。 基于 TreeSitter 的多语言架构守护工具:Guarding,Rust 语言。通过自制的 DSL,来对系统架构进行守护。

    1.8K30编辑于 2022-03-04
  • 来自专栏phodal

    Prompt 策略:代码库 AI 助手的语义化搜索设计

    Prompt 策略 3:代码拆分策略 在代码的分割上,不同的框架有不同的策略,LangChain 是基于关键字的方式,LlamaIndex 是基于 TreeSitter 方式,Bloop 则是基于 TreeSitter

    65710编辑于 2023-09-20
  • 来自专栏开源服务指南

    数据安全不容倦怠:高效、安全的多平台备份程序 | 开源日报 No.295

    tokyonight.nvim Stars: 5.7k License: Apache-2.0 tokyonight.nvim 是一个用 Lua 编写的干净、深色的 Neovim 主题,支持 lsp、treesitter

    27510编辑于 2024-07-10
  • 来自专栏phodal

    在 IDE 中实现自然语言搜索代码:RAG 策略的设计与落地

    而在新的 版本中,我们参考了 Continue 在 VSCode 中实现的技术栈: LanceDB 作为向量搜索数据库 SQLite 作为文本搜索数据库 TreeSitter 作为代码解析引擎 ONNX 由于在实现上,主流的 VSCode 插件都是基于 TreeSitter 构建二次语法解析,所以大部分依旧会基于语法块的划分,即将代码块划分为函数、类等等。 Query 阶段:查询改写。

    1K00编辑于 2024-05-27
  • 来自专栏HelloGitHub

    穷人版生产力工具,好用得飞起 「GitHub 热点速览」

    Gitsigns 的 git 使用 Heirline 的 Statusline、Winbar 和 Bufferline 使用 Toggleterm 的终端 用 Telescope 进行模糊查找 用 Treesitter

    2K51编辑于 2023-03-23
  • Claude Code:终端上的 AI 编码助手,潜力与挑战并存

    三次尝试均以失败告终:首次使用 ANTLR 语法,因语法无法正常运行而受阻;改用 treesitter 时,引用了不存在的库;最终尝试正则表达式匹配,却出现内部包引用错误。

    2.7K10编辑于 2025-07-09
  • 来自专栏IT大咖说

    如何提升代码搜索效果?GitHub团队打造代码搜索领域的GLUE数据集

    之后,GitHub 团队使用其通用解析器 TreeSitter 对所有 Go、Java、JavaScript、Python、PHP 和 Ruby 函数(或方法)执行分词操作,并使用启发式正则表达式对函数对应的文档文本进行分词处理

    1.4K40发布于 2019-10-09
  • 来自专栏phodal

    LLM as Co-pilot:AutoDev 1.0 发布,开源全流程 AI 辅助编程

    所以,理想的方式是像 GitHub Copilot 一样,开发一套 IDE 无关的 Agent 机制,结合 TreeSitter 来实现编程语言相关的处理。

    1.1K30编辑于 2023-08-11
  • 来自专栏机器之心

    如何提升代码搜索效果?GitHub团队打造代码搜索领域的GLUE数据集

    之后,GitHub 团队使用其通用解析器 TreeSitter 对所有 Go、Java、JavaScript、Python、PHP 和 Ruby 函数(或方法)执行分词操作,并使用启发式正则表达式对函数对应的文档文本进行分词处理

    98620发布于 2019-09-29
  • 来自专栏MasiMaro 的技术博文

    从零开始配置vim(23)——lsp基础配置

    上一章,我们初步认识了lsp,并且对 nvim-treesitter插件进行了配置,为编辑器提供了代码着色、自动格式化以及增量选中功能。算是初步体验了 lsp的相关功能。

    4.2K10编辑于 2022-09-28
领券