Merge pull request #274 from cnshsliu/main

Allow Chinese characters in tags
This commit is contained in:
lambtho
2023-07-25 08:44:46 +00:00
committed by GitHub
2 changed files with 19 additions and 21 deletions

View File

@@ -2081,29 +2081,24 @@ local function FollowLink(opts)
local filename_part = "" local filename_part = ""
-- first: check if we're in a tag or a link -- first: check if we're in a tag or a link
local kind, atcol, tag local kind
local globArg = "" local globArg = ""
if opts.follow_tag ~= nil then if opts.follow_tag ~= nil then
kind = "tag" kind = "tag"
tag = opts.follow_tag
if opts.templateDir ~= nil then if opts.templateDir ~= nil then
globArg = "--glob=!" .. "**/" .. opts.templateDir .. "/*.md" globArg = "--glob=!" .. "**/" .. opts.templateDir .. "/*.md"
end end
else else
kind, atcol = check_for_link_or_tag() kind, _ = check_for_link_or_tag()
end end
if kind == "tag" then if kind == "tag" then
if atcol ~= nil then
tag = taglinks.get_tag_at(
vim.api.nvim_get_current_line(),
atcol,
M.Cfg
)
end
search_mode = "tag" search_mode = "tag"
title = tag local saved_reg = vim.fn.getreg('"0')
vim.cmd("normal yiw")
title = vim.fn.getreg('"0')
vim.fn.setreg('"0', saved_reg)
else else
local saved_reg = vim.fn.getreg('"0') local saved_reg = vim.fn.getreg('"0')
if kind == "link" then if kind == "link" then

View File

@@ -1,17 +1,20 @@
local Job = require("plenary.job") local Job = require("plenary.job")
local M = {} local M = {}
local hashtag_re = "(^|\\s|'|\")#[a-zA-ZÀ-ÿ]+[a-zA-ZÀ-ÿ0-9/\\-_]*"
-- PCRE hashtag allows to remove the hex color codes from hastags
local hashtag_re_pcre =
"(^|\\s|'|\")((?!(#[a-fA-F0-9]{3})(\\W|$)|(#[a-fA-F0-9]{6})(\\W|$))#[a-zA-ZÀ-ÿ]+[a-zA-ZÀ-ÿ0-9/\\-_]*)"
local atsign_re = "(^|\\s|'|\")@[a-zA-ZÀ-ÿ]+[a-zA-ZÀ-ÿ0-9/\\-_]*"
local atsign_re_pcre =
"(^|\\s|'|\")((?!(@[a-fA-F0-9]{3})(\\W|$)|(@[a-fA-F0-9]{6})(\\W|$))@[a-zA-ZÀ-ÿ]+[a-zA-ZÀ-ÿ0-9/\\-_]*)"
local colon_re = "(^|\\s):[a-zA-ZÀ-ÿ]+[a-zA-ZÀ-ÿ0-9/\\-_]*:"
local yaml_re =
"(^|\\s)tags:\\s*\\[\\s*([a-zA-ZÀ-ÿ]+[a-zA-ZÀ-ÿ0-9/\\-_]*(,\\s*)*)*\\s*]"
local hashtag_re =
"(^|\\s|'|\")#[a-zA-ZÀ-ÿ\\p{Script=Han}]+[a-zA-ZÀ-ÿ0-9/\\-_\\p{Script=Han}]*"
-- PCRE hashtag allows to remove the hex color codes from hastags
local hashtag_re_pcre = "(^|\\s|'|\")((?!(#[a-fA-F0-9]{3})(\\W|$)|(#[a-fA-F0-9]{6})(\\W|$))"
.. "#[a-zA-ZÀ-ÿ\\p{Script=Han}]+[a-zA-ZÀ-ÿ0-9/\\-_\\p{Script=Han}]*)"
local atsign_re =
"(^|\\s|'|\")@[a-zA-ZÀ-ÿ\\p{Script=Han}]+[a-zA-ZÀ-ÿ0-9/\\-_\\p{Script=Han}]*"
local atsign_re_pcre = "(^|\\s|'|\")((?!(@[a-fA-F0-9]{3})(\\W|$)|(@[a-fA-F0-9]{6})(\\W|$))"
.. "@[a-zA-ZÀ-ÿ\\p{Script=Han}]+[a-zA-ZÀ-ÿ0-9/\\-_\\p{Script=Han}]*)"
local colon_re =
"(^|\\s):[a-zA-ZÀ-ÿ\\p{Script=Han}]+[a-zA-ZÀ-ÿ0-9/\\-_\\p{Script=Han}]*:"
local yaml_re =
"(^|\\s)tags:\\s*\\[\\s*([a-zA-ZÀ-ÿ\\p{Script=Han}]+[a-zA-ZÀ-ÿ0-9/\\-_\\p{Script=Han}]*(,\\s*)*)*\\s*]"
local function command_find_all_tags(opts) local function command_find_all_tags(opts)
opts = opts or {} opts = opts or {}
opts.cwd = opts.cwd or "." opts.cwd = opts.cwd or "."