Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,44 @@ bool FSublimeTextSourceCodeAccessor::CanAccessSourceCode() const
return FPaths::FileExists(TEXT("/usr/bin/clang"));
}

bool FSublimeTextSourceCodeAccessor::DoesSolutionExist() const
{
FString FullPath;
if ( FDesktopPlatformModule::Get()->GetSolutionPath(FullPath) )
{
return FPaths::FileExists(FullPath);
}
return false;
}

bool FSublimeTextSourceCodeAccessor::OpenSolutionAtPath(const FString& InSolutionPath)
{
FString FullPath = InSolutionPath;
if ( FPaths::FileExists(FullPath) )
{
// Add this to handle spaces in path names.
const FString NewFullPath = FString::Printf(TEXT("\"%s\""), *FullPath);

FString Editor = FString(TEXT("/usr/bin/subl"));
if ( FLinuxPlatformProcess::CreateProc(
*Editor,
*NewFullPath,
true,
true,
false,
nullptr,
0,
nullptr,
nullptr
).IsValid() )
{
return true;
}
}
return false;
}


FName FSublimeTextSourceCodeAccessor::GetFName() const
{
return FName("SublimeTextSourceCodeAccessor");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ class FSublimeTextSourceCodeAccessor : public ISourceCodeAccessor
virtual FText GetNameText() const override;
virtual FText GetDescriptionText() const override;
virtual bool OpenSolution() override;
virtual bool OpenSolutionAtPath(const FString& InSolutionPath) override;
virtual bool DoesSolutionExist() const override;
virtual bool OpenFileAtLine(const FString& FullPath, int32 LineNumber, int32 ColumnNumber = 0) override;
virtual bool OpenSourceFiles(const TArray<FString>& AbsoluteSourcePaths) override;
virtual bool SaveAllOpenDocuments() const override;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace UnrealBuildTool.Rules
{
public class SublimeTextSourceCodeAccess : ModuleRules
{
public SublimeTextSourceCodeAccess(TargetInfo Target)
public SublimeTextSourceCodeAccess(ReadOnlyTargetRules Target): base(Target)
{
PrivateDependencyModuleNames.AddRange(
new string[]
Expand Down