ligershark / Kulture

Sublime extension for ASP.NET vNext
Other
236 stars 30 forks source link

Linux support? #15

Closed e00dan closed 10 years ago

e00dan commented 10 years ago

Will this project be available for Linux?

sayedihashimi commented 10 years ago

If the platform runs the latest builds of mono then this should work. +@davidfowl in case I'm wrong here

e00dan commented 10 years ago

@sayedihashimi There is no possibility to install this on Linux, at least via Sublime Package Manager. I have latest Mono but no clue how could this be integrated into Sublime. Kulture Package is only for WIN and OS X.

sayedihashimi commented 10 years ago

It sounds like you are much more familiar with what would be needed than I am :)

shirhatti commented 10 years ago

I haven't listed no support for Linux because I haven't had the opportunity to try it. It should work with a little tweaking.

Let me know how much traction you get with a manual install. I can work with you on that.

If it works well, I will re-submit to package control with Linux support

shirhatti commented 10 years ago

Try this

Navigate to the packages directory of your Sublime install using a terminal window and execute the following command

wget https://github.com/ligershark/Kulture/archive/master.tar.gz && tar xzf master.tar.gz && mv ./Kulture-master/ ./Kulture && rm master.tar.gz
e00dan commented 10 years ago

Ok, I used Preferences > Browse Packages, copied location to terminal, navigated there and ran command supplied by @shirhatti.

Completions: Works, but I had to change https://www.myget.org/F/aspnetrelease/api/v2/Packages()? to http://www.myget.org/F/aspnetrelease/api/v2/Packages()? because of my Python environment couldn't handle https and urllib was producing errors:

Kulture.Completions: URL error unknown url type: https contacting API

K Commands: Ok, so I got this working on Ubuntu:

import shlex
# ...
    def run_terminal(self, dir_, parameters):
        try:
            # ...
            if args[0] == 'gnome-terminal':
                args = shlex.split(args[0] + ' -x bash -ic "source ~/devmono; ' + args[1] + '"')
                subprocess.call(args)

Build System: Build System works.

Modified script, so it runs on Linux(home instead of Users):

#! /bin/bash
# Add K to path and trigger build
source ~/devmono # for my specific case with many mono environments
ver=`cat ~/.kre/alias/default.alias`
add_to_path="/home/"$USER"/.kre/packages/"$ver"/bin"
echo $add_to_path
export PATH=$PATH:/usr/local/bin:$add_to_path
directory="./"
temp=$directory"project.json"
counter=0
# If unable to find project.json, keep going up a directory till project.json found
while [ ! -f $temp ]
do
    let counter=counter+1
    if [ $counter -gt 3 ]
    then
        break
    fi
    directory=$directory"../"
    temp=$directory"project.json"
    echo Checking...: $temp
done
kpm build $directory

Output:

/home/kuzi/.kre/packages/KRE-mono45-x86.1.0.0-alpha4-10264/bin
mvctest -> /home/kuzi/Projects/kvnext/mvctest/bin/Debug/mvctest.1.0.0.nupkg
mvctest -> /home/kuzi/Projects/kvnext/mvctest/bin/Debug/mvctest.1.0.0.symbols.nupkg

Build succeeded.
    0 Warnings(s)
    0 Error(s)

Time elapsed 00:00:01.5047945
[Finished in 1.7s]

So I had to hack on many things to get this working, but it's great to see this running on Linux with no problems at all finally. : )