Skip to content

Commit e6fb61c

Browse files
committed
'main': Highlight a broken symlink as a file.
Merge remote-tracking branch 'upstream/pr/342' * upstream/pr/342: 'main': Highlight a broken symlink as a file. tests: Add an XFail test for issue zsh-users#342.
2 parents 6b69389 + 53083da commit e6fb61c

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

highlighters/main/main-highlighter.zsh

+1
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,7 @@ _zsh_highlight_main_highlighter_check_path()
582582
REPLY=path
583583

584584
[[ -z $expanded_path ]] && return 1
585+
[[ -L $expanded_path ]] && return 0
585586
[[ -e $expanded_path ]] && return 0
586587

587588
# Search the path in CDPATH
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# -------------------------------------------------------------------------------------------------
2+
# Copyright (c) 2016 zsh-syntax-highlighting contributors
3+
# All rights reserved.
4+
#
5+
# Redistribution and use in source and binary forms, with or without modification, are permitted
6+
# provided that the following conditions are met:
7+
#
8+
# * Redistributions of source code must retain the above copyright notice, this list of conditions
9+
# and the following disclaimer.
10+
# * Redistributions in binary form must reproduce the above copyright notice, this list of
11+
# conditions and the following disclaimer in the documentation and/or other materials provided
12+
# with the distribution.
13+
# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors
14+
# may be used to endorse or promote products derived from this software without specific prior
15+
# written permission.
16+
#
17+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
18+
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
19+
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
20+
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22+
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
23+
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
24+
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25+
# -------------------------------------------------------------------------------------------------
26+
# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
27+
# vim: ft=zsh sw=2 ts=2 et
28+
# -------------------------------------------------------------------------------------------------
29+
30+
ln -s /nonexistent broken-symlink
31+
BUFFER=': broken-symlink'
32+
CURSOR=5 # to make path_prefix ineligible
33+
34+
expected_region_highlight=(
35+
"3 16 path" # broken-symlink
36+
)

0 commit comments

Comments
 (0)