mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-26 19:03:38 +08:00
Remove old fish_pager source and implementation
This commit is contained in:
parent
6c096191ba
commit
2442ae60db
25
Makefile.in
25
Makefile.in
|
@ -57,7 +57,6 @@ CXXFLAGS = @CXXFLAGS@ $(MACROS) $(EXTRA_CXXFLAGS)
|
|||
LDFLAGS = @LDFLAGS@
|
||||
LDFLAGS_FISH = ${LDFLAGS} @LIBS_FISH@ @LDFLAGS_FISH@
|
||||
LDFLAGS_FISH_INDENT = ${LDFLAGS} @LIBS_FISH_INDENT@
|
||||
LDFLAGS_FISH_PAGER = ${LDFLAGS} @LIBS_FISH_PAGER@
|
||||
LDFLAGS_FISHD = ${LDFLAGS} @LIBS_FISHD@
|
||||
LDFLAGS_MIMEDB = ${LDFLAGS} @LIBS_MIMEDB@
|
||||
|
||||
|
@ -106,15 +105,6 @@ BUILTIN_FILES := builtin_set.cpp builtin_commandline.cpp \
|
|||
builtin_set_color.cpp builtin_printf.cpp
|
||||
|
||||
|
||||
#
|
||||
# All objects that the system needs to build fish_pager
|
||||
#
|
||||
|
||||
FISH_PAGER_OBJS := fish_pager.o output.o wutil.o \
|
||||
input_common.o env_universal.o env_universal_common.o common.o \
|
||||
print_help.o iothread.o color.o
|
||||
|
||||
|
||||
#
|
||||
# All objects that the system needs to build fish_tests
|
||||
#
|
||||
|
@ -192,7 +182,7 @@ FUNCTIONS_DIR_FILES := $(wildcard share/functions/*.fish)
|
|||
# Programs to install
|
||||
#
|
||||
|
||||
PROGRAMS := fish mimedb fish_pager fishd fish_indent
|
||||
PROGRAMS := fish mimedb fishd fish_indent
|
||||
|
||||
#
|
||||
# Manual pages to install
|
||||
|
@ -239,7 +229,7 @@ FISH-BUILD-VERSION-FILE: FORCE
|
|||
-include FISH-BUILD-VERSION-FILE
|
||||
CPPFLAGS += -DFISH_BUILD_VERSION=\"$(FISH_BUILD_VERSION)\"
|
||||
.PHONY: FORCE
|
||||
env.o fish.o fish_indent.o fish_pager.o fishd.o mimedb.o: FISH-BUILD-VERSION-FILE
|
||||
env.o fish.o fish_indent.o fishd.o mimedb.o: FISH-BUILD-VERSION-FILE
|
||||
|
||||
|
||||
#
|
||||
|
@ -699,14 +689,6 @@ fish: $(FISH_OBJS) fish.o
|
|||
$(CXX) $(CXXFLAGS) $(FISH_OBJS) fish.o $(LDFLAGS_FISH) -o $@
|
||||
|
||||
|
||||
#
|
||||
# Build the fish_pager program.
|
||||
#
|
||||
|
||||
fish_pager: $(FISH_PAGER_OBJS)
|
||||
$(CXX) $(CXXFLAGS) $(FISH_PAGER_OBJS) $(LDFLAGS_FISH_PAGER) -o $@
|
||||
|
||||
|
||||
#
|
||||
# Build the fishd program.
|
||||
#
|
||||
|
@ -863,9 +845,6 @@ fish.o: expand.h intern.h exec.h output.h screen.h history.h path.h input.h
|
|||
fish.o: input_common.h
|
||||
fish_indent.o: config.h fallback.h signal.h util.h common.h wutil.h
|
||||
fish_indent.o: tokenizer.h print_help.h parser_keywords.h
|
||||
fish_pager.o: config.h signal.h fallback.h util.h wutil.h common.h complete.h
|
||||
fish_pager.o: output.h screen.h highlight.h env.h color.h input_common.h
|
||||
fish_pager.o: env_universal.h env_universal_common.h print_help.h
|
||||
fish_tests.o: config.h signal.h fallback.h util.h common.h proc.h io.h
|
||||
fish_tests.o: parse_tree.h tokenizer.h parse_constants.h reader.h complete.h
|
||||
fish_tests.o: highlight.h env.h color.h builtin.h function.h event.h
|
||||
|
|
|
@ -55,13 +55,6 @@
|
|||
*/
|
||||
#define COMPLETE_SEP_STR L"\004"
|
||||
|
||||
/**
|
||||
* Separator between completion items in fish_pager. This is used for
|
||||
* completion grouping, e.g. when putting completions with the same
|
||||
* descriptions on the same line.
|
||||
*/
|
||||
#define COMPLETE_ITEM_SEP L'\uf500'
|
||||
|
||||
/**
|
||||
* Character that separates the completion and description on
|
||||
* programmable completions
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
dependencies = (
|
||||
D07D265715E33B86009E43F6 /* PBXTargetDependency */,
|
||||
D07D265915E33B86009E43F6 /* PBXTargetDependency */,
|
||||
D07D265B15E33B86009E43F6 /* PBXTargetDependency */,
|
||||
D07D265D15E33B86009E43F6 /* PBXTargetDependency */,
|
||||
D0A56500168D257900AF6161 /* PBXTargetDependency */,
|
||||
);
|
||||
|
@ -49,7 +48,6 @@
|
|||
dependencies = (
|
||||
D0F01A1315AA36280034B3B1 /* PBXTargetDependency */,
|
||||
D0F01A1515AA362E0034B3B1 /* PBXTargetDependency */,
|
||||
D0F01A1915AA36310034B3B1 /* PBXTargetDependency */,
|
||||
D0F01A1715AA36300034B3B1 /* PBXTargetDependency */,
|
||||
D0A564EF168D09C000AF6161 /* PBXTargetDependency */,
|
||||
);
|
||||
|
@ -172,24 +170,11 @@
|
|||
D0D02ADB159864C2008E62BD /* tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855D13B3ACEE0099B651 /* tokenizer.cpp */; };
|
||||
D0D02ADC159864D5008E62BD /* libncurses.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8C15983CFA008E62BD /* libncurses.dylib */; };
|
||||
D0D02ADD159864D7008E62BD /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8A15983CDF008E62BD /* libiconv.dylib */; };
|
||||
D0D02AEA15986549008E62BD /* libncurses.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8C15983CFA008E62BD /* libncurses.dylib */; };
|
||||
D0D02AEB1598654C008E62BD /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8A15983CDF008E62BD /* libiconv.dylib */; };
|
||||
D0D1CD6C15B7451900F03988 /* fish_pager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854013B3ACEE0099B651 /* fish_pager.cpp */; };
|
||||
D0D1CD6D15B7452100F03988 /* output.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855113B3ACEE0099B651 /* output.cpp */; };
|
||||
D0D1CD6E15B7452600F03988 /* wutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0856113B3ACEE0099B651 /* wutil.cpp */; };
|
||||
D0D1CD6F15B7452D00F03988 /* input_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854913B3ACEE0099B651 /* input_common.cpp */; };
|
||||
D0D1CD7015B7453300F03988 /* env_universal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853913B3ACEE0099B651 /* env_universal.cpp */; };
|
||||
D0D1CD7115B7453700F03988 /* env_universal_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853813B3ACEE0099B651 /* env_universal_common.cpp */; };
|
||||
D0D1CD7215B7454A00F03988 /* print_help.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855613B3ACEE0099B651 /* print_help.cpp */; };
|
||||
D0D1CD7315B7455200F03988 /* color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0B6B0FE14E88BA400AD6C10 /* color.cpp */; };
|
||||
D0D1CD7415B7456000F03988 /* iothread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854D13B3ACEE0099B651 /* iothread.cpp */; };
|
||||
D0D1CD7515B7458B00F03988 /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853613B3ACEE0099B651 /* common.cpp */; };
|
||||
D0D2694915983772005D9B9C /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854413B3ACEE0099B651 /* function.cpp */; };
|
||||
D0D2694A15983779005D9B9C /* builtin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853513B3ACEE0099B651 /* builtin.cpp */; };
|
||||
D0F019F115A977140034B3B1 /* fish in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D2693C159835CA005D9B9C /* fish */; };
|
||||
D0F019F215A977270034B3B1 /* fishd in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D02ABC15985EF9008E62BD /* fishd */; };
|
||||
D0F019F315A977290034B3B1 /* fish_indent in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D02AD01598642A008E62BD /* fish_indent */; };
|
||||
D0F019F415A9772C0034B3B1 /* fish_pager in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D02AE415986537008E62BD /* fish_pager */; };
|
||||
D0F019F815A977AB0034B3B1 /* config.fish in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0CBD580159EE48F0024809C /* config.fish */; };
|
||||
D0F019FD15A977CA0034B3B1 /* config.fish in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0C4FD9415A7D7EE00212EF1 /* config.fish */; };
|
||||
D0F01A0315A978910034B3B1 /* osx_fish_launcher.m in Sources */ = {isa = PBXBuildFile; fileRef = D0D02AFA159871B2008E62BD /* osx_fish_launcher.m */; };
|
||||
|
@ -219,13 +204,6 @@
|
|||
remoteGlobalIDString = D0D02ABB15985EF9008E62BD;
|
||||
remoteInfo = fishd;
|
||||
};
|
||||
D07D265C15E33B86009E43F6 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = D0A084F213B3AC130099B651 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = D0D02AE315986537008E62BD;
|
||||
remoteInfo = fish_pager;
|
||||
};
|
||||
D07D265E15E33B86009E43F6 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = D0A084F213B3AC130099B651 /* Project object */;
|
||||
|
@ -268,13 +246,6 @@
|
|||
remoteGlobalIDString = D0D02ACF1598642A008E62BD;
|
||||
remoteInfo = fish_indent;
|
||||
};
|
||||
D0F01A1815AA36310034B3B1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = D0A084F213B3AC130099B651 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = D0D02AE315986537008E62BD;
|
||||
remoteInfo = fish_pager;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
|
@ -355,7 +326,6 @@
|
|||
D0F019F115A977140034B3B1 /* fish in CopyFiles */,
|
||||
D0F019F215A977270034B3B1 /* fishd in CopyFiles */,
|
||||
D0F019F315A977290034B3B1 /* fish_indent in CopyFiles */,
|
||||
D0F019F415A9772C0034B3B1 /* fish_pager in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -458,7 +428,6 @@
|
|||
D0A0853D13B3ACEE0099B651 /* expand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = expand.cpp; sourceTree = "<group>"; };
|
||||
D0A0853E13B3ACEE0099B651 /* fallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fallback.cpp; sourceTree = "<group>"; };
|
||||
D0A0853F13B3ACEE0099B651 /* fish_indent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fish_indent.cpp; sourceTree = "<group>"; };
|
||||
D0A0854013B3ACEE0099B651 /* fish_pager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fish_pager.cpp; sourceTree = "<group>"; };
|
||||
D0A0854113B3ACEE0099B651 /* fish_tests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fish_tests.cpp; sourceTree = "<group>"; };
|
||||
D0A0854213B3ACEE0099B651 /* fish.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fish.cpp; sourceTree = "<group>"; };
|
||||
D0A0854313B3ACEE0099B651 /* fishd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fishd.cpp; sourceTree = "<group>"; };
|
||||
|
@ -516,7 +485,6 @@
|
|||
D0D02AA915985C0C008E62BD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = osx/Info.plist; sourceTree = "<group>"; };
|
||||
D0D02ABC15985EF9008E62BD /* fishd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fishd; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D0D02AD01598642A008E62BD /* fish_indent */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fish_indent; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D0D02AE415986537008E62BD /* fish_pager */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fish_pager; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D0D02AFA159871B2008E62BD /* osx_fish_launcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = osx_fish_launcher.m; path = osx/osx_fish_launcher.m; sourceTree = "<group>"; };
|
||||
D0D2693C159835CA005D9B9C /* fish */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fish; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D0D9B2B318555D92001AE279 /* parse_constants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = parse_constants.h; sourceTree = "<group>"; };
|
||||
|
@ -554,15 +522,6 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D0D02AE115986537008E62BD /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D0D02AEA15986549008E62BD /* libncurses.dylib in Frameworks */,
|
||||
D0D02AEB1598654C008E62BD /* libiconv.dylib in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D0D26939159835CA005D9B9C /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -676,7 +635,6 @@
|
|||
D0A0850E13B3ACEE0099B651 /* function.h */,
|
||||
D0A0854413B3ACEE0099B651 /* function.cpp */,
|
||||
D0A0853F13B3ACEE0099B651 /* fish_indent.cpp */,
|
||||
D0A0854013B3ACEE0099B651 /* fish_pager.cpp */,
|
||||
D0A0854113B3ACEE0099B651 /* fish_tests.cpp */,
|
||||
D0A0854213B3ACEE0099B651 /* fish.cpp */,
|
||||
D0A0854313B3ACEE0099B651 /* fishd.cpp */,
|
||||
|
@ -789,7 +747,6 @@
|
|||
D0D02A9A15985A75008E62BD /* fish.app */,
|
||||
D0D02ABC15985EF9008E62BD /* fishd */,
|
||||
D0D02AD01598642A008E62BD /* fish_indent */,
|
||||
D0D02AE415986537008E62BD /* fish_pager */,
|
||||
D08A328D17B4455100F3A533 /* fish_tests */,
|
||||
);
|
||||
name = Products;
|
||||
|
@ -890,22 +847,6 @@
|
|||
productReference = D0D02AD01598642A008E62BD /* fish_indent */;
|
||||
productType = "com.apple.product-type.tool";
|
||||
};
|
||||
D0D02AE315986537008E62BD /* fish_pager */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = D0D02AE715986537008E62BD /* Build configuration list for PBXNativeTarget "fish_pager" */;
|
||||
buildPhases = (
|
||||
D0D02AE015986537008E62BD /* Sources */,
|
||||
D0D02AE115986537008E62BD /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = fish_pager;
|
||||
productName = fish_pager;
|
||||
productReference = D0D02AE415986537008E62BD /* fish_pager */;
|
||||
productType = "com.apple.product-type.tool";
|
||||
};
|
||||
D0D2693B159835CA005D9B9C /* fish_shell */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = D0D26943159835CA005D9B9C /* Build configuration list for PBXNativeTarget "fish_shell" */;
|
||||
|
@ -948,7 +889,6 @@
|
|||
D0D2693B159835CA005D9B9C /* fish_shell */,
|
||||
D0D02ABB15985EF9008E62BD /* fishd */,
|
||||
D0D02ACF1598642A008E62BD /* fish_indent */,
|
||||
D0D02AE315986537008E62BD /* fish_pager */,
|
||||
D08A328C17B4455100F3A533 /* fish_tests */,
|
||||
D0A564E6168CFDD800AF6161 /* man_pages */,
|
||||
D0A084F713B3AC130099B651 /* Makefile */,
|
||||
|
@ -1201,23 +1141,6 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D0D02AE015986537008E62BD /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D0D1CD6C15B7451900F03988 /* fish_pager.cpp in Sources */,
|
||||
D0D1CD6D15B7452100F03988 /* output.cpp in Sources */,
|
||||
D0D1CD6E15B7452600F03988 /* wutil.cpp in Sources */,
|
||||
D0D1CD6F15B7452D00F03988 /* input_common.cpp in Sources */,
|
||||
D0D1CD7015B7453300F03988 /* env_universal.cpp in Sources */,
|
||||
D0D1CD7115B7453700F03988 /* env_universal_common.cpp in Sources */,
|
||||
D0D1CD7315B7455200F03988 /* color.cpp in Sources */,
|
||||
D0D1CD7515B7458B00F03988 /* common.cpp in Sources */,
|
||||
D0D1CD7215B7454A00F03988 /* print_help.cpp in Sources */,
|
||||
D0D1CD7415B7456000F03988 /* iothread.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D0D26938159835CA005D9B9C /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -1292,11 +1215,6 @@
|
|||
target = D0D02ABB15985EF9008E62BD /* fishd */;
|
||||
targetProxy = D07D265A15E33B86009E43F6 /* PBXContainerItemProxy */;
|
||||
};
|
||||
D07D265B15E33B86009E43F6 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = D0D02AE315986537008E62BD /* fish_pager */;
|
||||
targetProxy = D07D265C15E33B86009E43F6 /* PBXContainerItemProxy */;
|
||||
};
|
||||
D07D265D15E33B86009E43F6 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = D0D02ACF1598642A008E62BD /* fish_indent */;
|
||||
|
@ -1327,11 +1245,6 @@
|
|||
target = D0D02ACF1598642A008E62BD /* fish_indent */;
|
||||
targetProxy = D0F01A1615AA36300034B3B1 /* PBXContainerItemProxy */;
|
||||
};
|
||||
D0F01A1915AA36310034B3B1 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = D0D02AE315986537008E62BD /* fish_pager */;
|
||||
targetProxy = D0F01A1815AA36310034B3B1 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
|
@ -1435,18 +1348,6 @@
|
|||
};
|
||||
name = "Release_C++11";
|
||||
};
|
||||
D007FDE117136EAA00A52BE6 /* Release_C++11 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = "Release_C++11";
|
||||
};
|
||||
D007FDE217136EAA00A52BE6 /* Release_C++11 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
|
@ -1743,34 +1644,6 @@
|
|||
};
|
||||
name = Release;
|
||||
};
|
||||
D0D02AE815986537008E62BD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D0D02AE915986537008E62BD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D0D26944159835CA005D9B9C /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
|
@ -1898,16 +1771,6 @@
|
|||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D0D02AE715986537008E62BD /* Build configuration list for PBXNativeTarget "fish_pager" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D0D02AE815986537008E62BD /* Debug */,
|
||||
D0D02AE915986537008E62BD /* Release */,
|
||||
D007FDE117136EAA00A52BE6 /* Release_C++11 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D0D26943159835CA005D9B9C /* Build configuration list for PBXNativeTarget "fish_shell" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
|
1427
fish_pager.cpp
1427
fish_pager.cpp
File diff suppressed because it is too large
Load Diff
138
reader.cpp
138
reader.cpp
|
@ -1347,144 +1347,6 @@ static void completion_insert(const wchar_t *val, complete_flags_t flags)
|
|||
data->suppress_autosuggestion = true;
|
||||
}
|
||||
|
||||
/* Return an escaped path to fish_pager */
|
||||
static wcstring escaped_fish_pager_path(void)
|
||||
{
|
||||
wcstring result;
|
||||
const env_var_t bin_dir = env_get_string(L"__fish_bin_dir");
|
||||
if (bin_dir.missing_or_empty())
|
||||
{
|
||||
/* This isn't good, hope our normal command stuff can find it */
|
||||
result = L"fish_pager";
|
||||
}
|
||||
else
|
||||
{
|
||||
result = escape_string(bin_dir + L"/fish_pager", ESCAPE_ALL);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
Run the fish_pager command to display the completion list. If the
|
||||
fish_pager outputs any text, it is inserted into the input
|
||||
backbuffer.
|
||||
|
||||
\param prefix the string to display before every completion.
|
||||
\param is_quoted should be set if the argument is quoted. This will change the display style.
|
||||
\param comp the list of completions to display
|
||||
*/
|
||||
static void run_pager(const wcstring &prefix, int is_quoted, const std::vector<completion_t> &comp)
|
||||
{
|
||||
wcstring msg;
|
||||
wcstring prefix_esc;
|
||||
char *foo;
|
||||
|
||||
shared_ptr<io_buffer_t> in_buff(io_buffer_t::create(true, 3));
|
||||
shared_ptr<io_buffer_t> out_buff(io_buffer_t::create(false, 4));
|
||||
|
||||
// The above may fail e.g. if we have too many open fds
|
||||
if (in_buff.get() == NULL || out_buff.get() == NULL)
|
||||
return;
|
||||
|
||||
wchar_t *escaped_separator;
|
||||
|
||||
if (prefix.empty())
|
||||
{
|
||||
prefix_esc = L"\"\"";
|
||||
}
|
||||
else
|
||||
{
|
||||
prefix_esc = escape_string(prefix, 1);
|
||||
}
|
||||
|
||||
|
||||
const wcstring pager_path = escaped_fish_pager_path();
|
||||
const wcstring cmd = format_string(L"%ls -c 3 -r 4 %ls -p %ls",
|
||||
// L"valgrind --track-fds=yes --log-file=pager.txt --leak-check=full ./%ls %d %ls",
|
||||
pager_path.c_str(),
|
||||
is_quoted?L"-q":L"",
|
||||
prefix_esc.c_str());
|
||||
|
||||
escaped_separator = escape(COMPLETE_SEP_STR, 1);
|
||||
|
||||
editable_line_t *el = &data->command_line;
|
||||
|
||||
for (size_t i=0; i< comp.size(); i++)
|
||||
{
|
||||
long base_len=-1;
|
||||
const completion_t &cmpl = comp.at(i);
|
||||
|
||||
wcstring completion_text;
|
||||
wcstring description_text;
|
||||
|
||||
// Note that an empty completion is perfectly sensible here, e.g. tab-completing 'foo' with a file called 'foo' and another called 'foobar'
|
||||
if ((cmpl.flags & COMPLETE_REPLACES_TOKEN) && match_type_shares_prefix(cmpl.match.type))
|
||||
{
|
||||
// Compute base_len if we have not yet
|
||||
if (base_len == -1)
|
||||
{
|
||||
const wchar_t *begin, *buff = el->text.c_str();
|
||||
|
||||
parse_util_token_extent(buff, el->position, &begin, 0, 0, 0);
|
||||
base_len = el->position - (begin-buff);
|
||||
}
|
||||
|
||||
completion_text = escape_string(cmpl.completion.c_str() + base_len, ESCAPE_ALL | ESCAPE_NO_QUOTED);
|
||||
}
|
||||
else
|
||||
{
|
||||
completion_text = escape_string(cmpl.completion, ESCAPE_ALL | ESCAPE_NO_QUOTED);
|
||||
}
|
||||
|
||||
|
||||
if (! cmpl.description.empty())
|
||||
{
|
||||
description_text = escape_string(cmpl.description, true);
|
||||
}
|
||||
|
||||
/* It's possible (even common) to have an empty completion with no description. An example would be completing 'foo' with extant files 'foo' and 'foobar'. But fish_pager ignores blank lines. So if our completion text is empty, always include a description, even if it's empty.
|
||||
*/
|
||||
msg.reserve(msg.size() + completion_text.size() + description_text.size() + 2);
|
||||
msg.append(completion_text);
|
||||
if (! description_text.empty() || completion_text.empty())
|
||||
{
|
||||
msg.append(escaped_separator);
|
||||
msg.append(description_text);
|
||||
}
|
||||
msg.push_back(L'\n');
|
||||
}
|
||||
|
||||
free(escaped_separator);
|
||||
|
||||
foo = wcs2str(msg.c_str());
|
||||
in_buff->out_buffer_append(foo, strlen(foo));
|
||||
free(foo);
|
||||
|
||||
term_donate();
|
||||
parser_t &parser = parser_t::principal_parser();
|
||||
io_chain_t io_chain;
|
||||
io_chain.push_back(out_buff);
|
||||
io_chain.push_back(in_buff);
|
||||
parser.eval(cmd, io_chain, TOP);
|
||||
term_steal();
|
||||
|
||||
out_buff->read();
|
||||
|
||||
const char zero = 0;
|
||||
out_buff->out_buffer_append(&zero, 1);
|
||||
|
||||
const char *out_data = out_buff->out_buffer_ptr();
|
||||
if (out_data)
|
||||
{
|
||||
const wcstring str = str2wcstring(out_data);
|
||||
size_t idx = str.size();
|
||||
while (idx--)
|
||||
{
|
||||
input_unreadch(str.at(idx));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct autosuggestion_context_t
|
||||
{
|
||||
wcstring search_string;
|
||||
|
|
Loading…
Reference in New Issue
Block a user